/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/common/alert.vue?vue&type=style&index=0&id=474c9048&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.alert-overlay[data-v-474c9048] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}
.alert-modal[data-v-474c9048] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 400px;
  width: 90%;
  max-height: 80vh;
  overflow: hidden;
}
.alert-header[data-v-474c9048] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e5e5;
}
.alert-header h3[data-v-474c9048] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.close-btn[data-v-474c9048] {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #999;
  padding: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.close-btn[data-v-474c9048]:hover {
  color: #666;
}
.alert-content[data-v-474c9048] {
  padding: 20px;
  max-height: 300px;
  overflow-y: auto;
}
.alert-content p[data-v-474c9048] {
  margin: 0;
  line-height: 1.5;
  color: #666;
  word-wrap: break-word;
}
.alert-footer[data-v-474c9048] {
  padding: 16px 20px;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
.btn[data-v-474c9048] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.btn-primary[data-v-474c9048] {
  background-color: #1976d2;
  color: white;
}
.btn-primary[data-v-474c9048]:hover {
  background-color: #0056b3;
}
.btn-secondary[data-v-474c9048] {
  background-color: #6c757d;
  color: white;
}
.btn-secondary[data-v-474c9048]:hover {
  background-color: #545b62;
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/common/confirm.vue?vue&type=style&index=0&id=326f56ac&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.confirm-overlay[data-v-326f56ac] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}
.confirm-modal[data-v-326f56ac] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 400px;
  width: 90%;
  max-height: 80vh;
  overflow: hidden;
}
.confirm-header[data-v-326f56ac] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e5e5;
}
.confirm-header h3[data-v-326f56ac] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.close-btn[data-v-326f56ac] {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #999;
  padding: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.close-btn[data-v-326f56ac]:hover {
  color: #666;
}
.confirm-content[data-v-326f56ac] {
  padding: 20px;
  max-height: 300px;
  overflow-y: auto;
}
.confirm-content p[data-v-326f56ac] {
  margin: 0;
  line-height: 1.5;
  color: #666;
  word-wrap: break-word;
}
.confirm-footer[data-v-326f56ac] {
  padding: 16px 20px;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
.btn[data-v-326f56ac] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.btn-primary[data-v-326f56ac] {
  background-color: #1976d2;
  color: white;
}
.btn-primary[data-v-326f56ac]:hover {
  background-color: #0056b3;
}
.btn-secondary[data-v-326f56ac] {
  background-color: #6c757d;
  color: white;
}
.btn-secondary[data-v-326f56ac]:hover {
  background-color: #545b62;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/common/HtmlEditor.vue?vue&type=style&index=0&id=68d2c448&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.html-editor-container[data-v-68d2c448] {
  overflow: hidden;
  background-color: #fff;
}
.toolbar[data-v-68d2c448] {
  display: flex;
  gap: 8px;
  padding: 8px 12px;
  border-bottom: 1px solid #eee;
  background-color: #f8f9fa;
  flex-wrap: wrap;
}
.toolbar-group[data-v-68d2c448] {
  display: flex;
  gap: 2px;
}
.toolbar-button[data-v-68d2c448] {
  background: none;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #555;
  cursor: pointer;
  transition: background-color 0.2s;
  padding: 0;
}
.toolbar-button[data-v-68d2c448]:hover {
  background-color: #f0f0f0;
}
.toolbar-button.active[data-v-68d2c448] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.toolbar-select[data-v-68d2c448] {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 8px;
  height: 28px;
  border-radius: 4px;
  background-color: #fff;
  border: 1px solid #ddd;
  cursor: pointer;
  min-width: 70px;
  justify-content: space-between;
}
.toolbar-select[data-v-68d2c448]:hover {
  border-color: #aaa;
}
.select-label[data-v-68d2c448] {
  font-size: 13px;
  margin-right: 6px;
}
.dropdown-menu[data-v-68d2c448] {
  position: absolute;
  top: 100%;
  left: 0;
  width: 180px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  max-height: 300px;
  overflow-y: auto;
}
.dropdown-item[data-v-68d2c448] {
  padding: 6px 10px;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.dropdown-item[data-v-68d2c448]:hover {
  background-color: #f5f5f5;
}
.toolbar-color-picker[data-v-68d2c448] {
  position: relative;
}
.color-dropdown[data-v-68d2c448] {
  position: absolute;
  top: 100%;
  left: 0;
  width: 240px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  padding: 8px;
}
.color-grid[data-v-68d2c448] {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 2px;
}
.color-swatch[data-v-68d2c448] {
  width: 20px;
  height: 20px;
  border-radius: 2px;
  cursor: pointer;
  transition: transform 0.1s;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.color-swatch[data-v-68d2c448]:hover {
  transform: scale(1.1);
  z-index: 1;
}
.html-editor[data-v-68d2c448] {
  width: calc(100% - 24px);
  border: none;
  outline: none;
  padding: 12px;
  overflow-y: auto;
  font-size: 14px;
  line-height: 1.6;
  font-family: 'Microsoft Yahei', Arial, sans-serif;
  min-height: 200px;
}
.html-editor[data-v-68d2c448]:focus {
  outline: none;
}
.html-editor[data-v-68d2c448]:empty:before {
  content: attr(placeholder);
  color: #999;
  pointer-events: none;
}
.html-editor h1[data-v-68d2c448] {
  font-size: 1.8em;
  margin-top: 1em;
  margin-bottom: 0.5em;
  font-weight: bold;
  color: #333;
}
.html-editor h2[data-v-68d2c448] {
  font-size: 1.5em;
  margin-top: 0.8em;
  margin-bottom: 0.4em;
  font-weight: bold;
  color: #444;
}
.html-editor h3[data-v-68d2c448] {
  font-size: 1.3em;
  margin-top: 0.6em;
  margin-bottom: 0.3em;
  font-weight: bold;
  color: #555;
}
.html-editor p[data-v-68d2c448] {
  margin-bottom: 1em;
}
.html-editor ul[data-v-68d2c448], 
.html-editor ol[data-v-68d2c448] {
  margin-left: 2em;
  margin-bottom: 1em;
}
.html-editor ul li[data-v-68d2c448], 
.html-editor ol li[data-v-68d2c448] {
  margin-bottom: 0.5em;
}
.html-editor blockquote[data-v-68d2c448] {
  border-left: 3px solid #ddd;
  padding-left: 10px;
  color: #666;
  font-style: italic;
  margin: 1em 0;
}
.html-editor a[data-v-68d2c448] {
  color: #1976d2;
  text-decoration: underline;
}
.html-editor strong[data-v-68d2c448] {
  font-weight: bold;
}
.html-editor em[data-v-68d2c448] {
  font-style: italic;
}
.html-editor code[data-v-68d2c448] {
  font-family: monospace;
  background-color: #f0f0f0;
  padding: 2px 4px;
  border-radius: 3px;
  font-size: 0.9em;
}
.html-editor table[data-v-68d2c448] {
  border-collapse: collapse;
  width: 100%;
  margin: 1em 0;
}
.html-editor table th[data-v-68d2c448],
.html-editor table td[data-v-68d2c448] {
  border: 1px solid #ddd;
  padding: 8px;
}
.html-editor table th[data-v-68d2c448] {
  background-color: #f5f5f5;
  font-weight: bold;
}

/* 响应式设计 */
@media (max-width: 768px) {
.toolbar[data-v-68d2c448] {
    padding: 6px 8px;
    gap: 4px;
}
.toolbar-group[data-v-68d2c448] {
    gap: 1px;
}
.toolbar-button[data-v-68d2c448] {
    width: 24px;
    height: 24px;
}
.toolbar-select[data-v-68d2c448] {
    height: 24px;
    min-width: 60px;
    padding: 0 6px;
}
.select-label[data-v-68d2c448] {
    font-size: 12px;
}
.dropdown-menu[data-v-68d2c448] {
    width: 150px;
}
.color-dropdown[data-v-68d2c448] {
    width: 200px;
}
.color-grid[data-v-68d2c448] {
    grid-template-columns: repeat(8, 1fr);
}
.color-swatch[data-v-68d2c448] {
    width: 18px;
    height: 18px;
}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/BasicInfo.vue?vue&type=style&index=0&id=4c91ee6e&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.basic-info-container[data-v-4c91ee6e] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
}
.component-header[data-v-4c91ee6e] {
  padding: 16px 20px;
  border-bottom: 1px solid #eaedf0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f8f9fa;
}
.section-title[data-v-4c91ee6e] {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  color: #333;
}
.header-controls[data-v-4c91ee6e] {
  display: flex;
  align-items: center;
}
.control-btn[data-v-4c91ee6e] {
  padding: 8px 16px;
  background-color: #1976d2;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: background-color 0.2s;
  font-weight: 500;
  height: 36px;
  display: flex;
  gap: 4px;
  align-items: center;
}
.control-btn[data-v-4c91ee6e]:hover:not(:disabled) {
  background-color: #1565c0;
}
.control-btn[data-v-4c91ee6e]:disabled {
  background-color: #90caf9;
  cursor: not-allowed;
}
.component-content[data-v-4c91ee6e] {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}
.info-grid[data-v-4c91ee6e] {
  display: flex;
  flex-direction: column;
}
.info-row[data-v-4c91ee6e], .form-row[data-v-4c91ee6e] {
  display: grid;
  grid-template-columns: 40px 120px 1fr;
  align-items: center;
  padding: 12px 30px;
  border-bottom: 1px solid #eaedf0;
  transition: background-color 0.2s;
}
.info-row[data-v-4c91ee6e]:hover {
  background-color: #f5f7fa;
}
.info-icon[data-v-4c91ee6e] {
  color: #5c6b7a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.info-label[data-v-4c91ee6e] {
  color: #5c6b7a;
  font-size: 14px;
  font-weight: 500;
}
.info-value[data-v-4c91ee6e] {
  color: #333;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.form-field[data-v-4c91ee6e] {
  width: 100%;
}
.form-field input[data-v-4c91ee6e],
.form-field textarea[data-v-4c91ee6e] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  font-size: 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
  background-color: #f8f9fa;
}
.form-field input[data-v-4c91ee6e]:focus,
.form-field textarea[data-v-4c91ee6e]:focus {
  border-color: #1976d2;
  outline: none;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
  background-color: #fff;
}
.form-field textarea[data-v-4c91ee6e] {
  min-height: 80px;
  resize: vertical;
}
.required[data-v-4c91ee6e] {
  color: #f44336;
  font-weight: bold;
  margin-left: 4px;
}
.recommended[data-v-4c91ee6e] {
  color: #ff9800;
  font-size: 12px;
  margin-left: 4px;
}

/* Mail servers tags */
.mail-tags[data-v-4c91ee6e] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.mail-tag[data-v-4c91ee6e] {
  display: inline-block;
  padding: 2px 8px;
  font-size: 12px;
  line-height: 18px;
  color: #0b62d6;
  background: #eaf3ff;
  border: 1px solid #cfe5ff;
  border-radius: 12px;
  white-space: nowrap;
}
.error-input[data-v-4c91ee6e] {
  border-color: #f44336 !important;
}
.error-text[data-v-4c91ee6e] {
  color: #f44336;
  font-size: 12px;
  margin-top: 4px;
  display: block;
}
.loading-indicator[data-v-4c91ee6e] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
}
.error-message[data-v-4c91ee6e] {
  text-align: center;
  padding: 20px;
  color: #d32f2f;
  background-color: #ffebee;
  border-radius: 4px;
  margin: 20px;
}
.error-message button[data-v-4c91ee6e] {
  margin-top: 8px;
  padding: 6px 12px;
  background-color: #d32f2f;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.error-message button[data-v-4c91ee6e]:hover {
  background-color: #c62828;
}

/* Skeleton styles */
.info-skeleton[data-v-4c91ee6e] {
  padding: 0;
  background-color: #ffffff;
  margin: 0;
}
.skeleton-icon[data-v-4c91ee6e] {
  width: 18px;
  height: 18px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer-4c91ee6e 1.5s infinite;
  border-radius: 4px;
}
.skeleton-label[data-v-4c91ee6e] {
  width: 60px;
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer-4c91ee6e 1.5s infinite;
  border-radius: 4px;
}
.skeleton-value[data-v-4c91ee6e] {
  width: 120px;
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer-4c91ee6e 1.5s infinite;
  border-radius: 4px;
}
@keyframes shimmer-4c91ee6e {
0% {
    background-position: -200% 0;
}
100% {
    background-position: 200% 0;
}
}

/* 平滑过渡效果 */
.info-skeleton[data-v-4c91ee6e],
.info-grid[data-v-4c91ee6e] {
  transition: opacity 0.3s ease-in-out;
}
.info-skeleton[data-v-4c91ee6e] {
  opacity: 1;
}
.info-grid[data-v-4c91ee6e] {
  opacity: 1;
}

/* 加载时的淡入淡出效果 */
.info-skeleton.loading[data-v-4c91ee6e] {
  opacity: 0.8;
}
.info-grid.loading[data-v-4c91ee6e] {
  opacity: 0.6;
}

/* 邮件签名按钮样式 */
.signature-btn[data-v-4c91ee6e] {
  margin-right: 12px;
  background-color: #28a745;
}
.signature-btn[data-v-4c91ee6e]:hover:not(:disabled) {
  background-color: #218838;
}
.signature-btn svg[data-v-4c91ee6e] {
  margin-right: 6px;
}

/* 邮件签名对话框样式 */
.signature-dialog-overlay[data-v-4c91ee6e] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.signature-dialog[data-v-4c91ee6e] {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  width: 90%;
  max-width: 800px;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.signature-dialog-header[data-v-4c91ee6e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #e1e5e9;
  background-color: #f8f9fa;
}
.signature-dialog-header h3[data-v-4c91ee6e] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #24292f;
}
.close-btn[data-v-4c91ee6e] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  color: #656d76;
  transition: all 0.2s;
}
.close-btn[data-v-4c91ee6e]:hover {
  background-color: #f3f4f6;
  color: #24292f;
}
.signature-dialog-content[data-v-4c91ee6e] {
  flex: 1;
  overflow-y: auto;
}
.signature-editor h4[data-v-4c91ee6e] {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #24292f;
}
.signature-editor[data-v-4c91ee6e] {
  display: flex;
  flex-direction: column;
}
.signature-dialog-footer[data-v-4c91ee6e] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px 24px;
  border-top: 1px solid #e1e5e9;
  background-color: #f8f9fa;
}
.btn[data-v-4c91ee6e] {
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.btn-primary[data-v-4c91ee6e] {
  background-color: #0969da;
  color: #ffffff;
}
.btn-primary[data-v-4c91ee6e]:hover:not(:disabled) {
  background-color: #0858b9;
}
.btn-primary[data-v-4c91ee6e]:disabled {
  background-color: #9ca3af;
  cursor: not-allowed;
}
.btn-secondary[data-v-4c91ee6e] {
  background-color: #f6f8fa;
  color: #24292f;
  border: 1px solid #d0d7de;
}
.btn-secondary[data-v-4c91ee6e]:hover {
  background-color: #f3f4f6;
}

/* 响应式设计 */
@media (max-width: 768px) {
.signature-dialog[data-v-4c91ee6e] {
    width: 95%;
    margin: 20px;
}
.signature-dialog-header[data-v-4c91ee6e],
  .signature-dialog-footer[data-v-4c91ee6e] {
    padding: 16px 20px;
}
.signature-dialog-content[data-v-4c91ee6e] {
    padding: 20px;
}
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/user/ChangePassword.vue?vue&type=style&index=0&id=15909822&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.change-password-container[data-v-15909822] {
  background-color: #fff;
  border-radius: 8px;
  width: 100%;
  max-width: 500px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.dialog-header[data-v-15909822] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
}
.dialog-header h3[data-v-15909822] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.close-btn[data-v-15909822] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s;
}
.close-btn[data-v-15909822]:hover {
  background-color: #f0f0f0;
}
.form-content[data-v-15909822] {
  padding: 20px;
}
.form-group[data-v-15909822] {
  margin-bottom: 20px;
  padding-right: 20px;
}
.form-group label[data-v-15909822] {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
}
.form-group input[data-v-15909822] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  transition: border-color 0.2s;
}
.form-group input[data-v-15909822]:focus {
  border-color: #1976d2;
  outline: none;
}
.error-input[data-v-15909822] {
  border-color: #f44336 !important;
}
.error-message[data-v-15909822] {
  display: block;
  color: #f44336;
  font-size: 12px;
  margin-top: 5px;
}
.form-actions[data-v-15909822] {
  display: flex;
  justify-content: flex-end;
  padding: 16px 20px;
  border-top: 1px solid #eee;
  gap: 12px;
}
.cancel-btn[data-v-15909822] {
  padding: 8px 16px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.cancel-btn[data-v-15909822]:hover {
  background-color: #e0e0e0;
}
.submit-btn[data-v-15909822] {
  padding: 8px 16px;
  background-color: #1976d2;
  border: none;
  border-radius: 4px;
  color: white;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.submit-btn[data-v-15909822]:hover {
  background-color: #1565c0;
}
.submit-btn[data-v-15909822]:disabled {
  background-color: #90caf9;
  cursor: not-allowed;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/user/AvatarUpload.vue?vue&type=style&index=0&id=4f1d31be&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.avatar-upload-container[data-v-4f1d31be] {
  background-color: #fff;
  border-radius: 8px;
  width: 100%;
  max-width: 500px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.dialog-header[data-v-4f1d31be] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
}
.dialog-header h3[data-v-4f1d31be] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.close-btn[data-v-4f1d31be] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s;
}
.close-btn[data-v-4f1d31be]:hover {
  background-color: #f0f0f0;
}
.upload-content[data-v-4f1d31be] {
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.avatar-preview[data-v-4f1d31be] {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  border: 2px solid #eee;
}
.avatar-preview img[data-v-4f1d31be] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.avatar-placeholder[data-v-4f1d31be] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #aaa;
}
.upload-actions[data-v-4f1d31be] {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.select-btn[data-v-4f1d31be] {
  padding: 10px 20px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-bottom: 10px;
}
.select-btn[data-v-4f1d31be]:hover {
  background-color: #e0e0e0;
}
.select-btn[data-v-4f1d31be]:disabled {
  background-color: #f5f5f5;
  color: #999;
  cursor: not-allowed;
}
.upload-hint[data-v-4f1d31be] {
  font-size: 12px;
  color: #666;
  margin-bottom: 10px;
  text-align: center;
}
.error-message[data-v-4f1d31be] {
  color: #f44336;
  font-size: 14px;
  margin-top: 10px;
  text-align: center;
}
.form-actions[data-v-4f1d31be] {
  display: flex;
  justify-content: flex-end;
  padding: 16px 20px;
  border-top: 1px solid #eee;
  gap: 12px;
}
.cancel-btn[data-v-4f1d31be] {
  padding: 8px 16px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.cancel-btn[data-v-4f1d31be]:hover {
  background-color: #e0e0e0;
}
.submit-btn[data-v-4f1d31be] {
  padding: 8px 16px;
  background-color: #1976d2;
  border: none;
  border-radius: 4px;
  color: white;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.submit-btn[data-v-4f1d31be]:hover {
  background-color: #1565c0;
}
.submit-btn[data-v-4f1d31be]:disabled {
  background-color: #90caf9;
  cursor: not-allowed;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/user/EmailConfig.vue?vue&type=style&index=0&id=5e5da4aa&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.email-config-dialog[data-v-5e5da4aa] {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
  width: 480px !important;
  max-width: 90vw !important;
  max-height: 90vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
.email-config-header[data-v-5e5da4aa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
}
.email-config-header h3[data-v-5e5da4aa] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #111827;
}
.close-dialog-btn[data-v-5e5da4aa] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  color: #6b7280;
  transition: all 0.2s;
}
.close-dialog-btn[data-v-5e5da4aa]:hover {
  background: #f3f4f6;
  color: #374151;
}
.email-config-content[data-v-5e5da4aa] {
  padding: 24px;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
}
.form-group[data-v-5e5da4aa] {
  margin-bottom: 20px;
}
.form-group label[data-v-5e5da4aa] {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #374151;
  font-size: 14px;
}
.form-select[data-v-5e5da4aa],
.form-input[data-v-5e5da4aa] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 14px;
  transition: all 0.2s;
  box-sizing: border-box;
  max-width: 100%;
}
.form-select[data-v-5e5da4aa]:focus,
.form-input[data-v-5e5da4aa]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.form-input-error[data-v-5e5da4aa] {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
}
.form-input-error[data-v-5e5da4aa]:focus {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1) !important;
}
.password-input-wrapper[data-v-5e5da4aa] {
  position: relative;
}
.password-toggle-btn[data-v-5e5da4aa] {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #6b7280;
  border-radius: 4px;
  transition: all 0.2s;
}
.password-toggle-btn[data-v-5e5da4aa]:hover {
  background: #f3f4f6;
  color: #374151;
}

/* 隐藏浏览器内置的“显示密码”按钮，避免与自定义图标重叠（Edge/IE） */
#email-password[data-v-5e5da4aa]::-ms-reveal,
#email-password[data-v-5e5da4aa]::-ms-clear {
  display: none;
}

/* 兼容性兜底（一些基于webkit的实现可能暴露特殊按钮） */
#email-password[data-v-5e5da4aa]::-webkit-credentials-auto-fill-button {
  visibility: hidden;
  display: none;
}
.password-icon[data-v-5e5da4aa] {
  display: block;
  width: 20px;
  height: 20px;
}
.error-message[data-v-5e5da4aa] {
  color: #dc2626;
  font-size: 12px;
  margin-top: 4px;
}
.email-config-footer[data-v-5e5da4aa] {
  padding: 20px 24px;
  border-top: 1px solid #e5e7eb;
  background: #f9fafb;
}
.footer-buttons[data-v-5e5da4aa] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.btn-cancel[data-v-5e5da4aa],
.btn-clear[data-v-5e5da4aa],
.btn-save[data-v-5e5da4aa] {
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
}
.btn-cancel[data-v-5e5da4aa] {
  background: #f3f4f6;
  color: #374151;
  border-color: #d1d5db;
}
.btn-cancel[data-v-5e5da4aa]:hover {
  background: #e5e7eb;
}
.btn-clear[data-v-5e5da4aa] {
  background: #fef2f2;
  color: #dc2626;
  border-color: #fecaca;
  transition: all 0.3s ease;
  white-space: nowrap;
  overflow: hidden;
}
.btn-clear[data-v-5e5da4aa]:hover:not(:disabled) {
  background: #fee2e2;
}
.btn-clear[data-v-5e5da4aa]:disabled {
  background: #f3f4f6 !important;
  color: #9ca3af !important;
  border-color: #e5e7eb !important;
  cursor: not-allowed !important;
}
.btn-clear[data-v-5e5da4aa]:disabled:hover {
  background: #f3f4f6 !important;
  color: #9ca3af !important;
  border-color: #e5e7eb !important;
}
.btn-clear-confirming[data-v-5e5da4aa] {
  background: #dc2626 !important;
  color: white !important;
  border-color: #dc2626 !important;
  width: 100% !important;
  animation: expandWidth-5e5da4aa 0.3s ease-out;
}
.btn-clear-confirming[data-v-5e5da4aa]:hover {
  background: #b91c1c !important;
}
@keyframes expandWidth-5e5da4aa {
from {
    width: auto;
}
to {
    width: 100%;
}
}
.btn-save[data-v-5e5da4aa] {
  background: #3b82f6;
  color: white;
  border-color: #3b82f6;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.btn-save[data-v-5e5da4aa]:hover:not(:disabled) {
  background: #2563eb;
}
.btn-save[data-v-5e5da4aa]:disabled {
  background: #9ca3af;
  cursor: not-allowed;
  border-color: #9ca3af;
}
.loading-spinner[data-v-5e5da4aa] {
  animation: spin-5e5da4aa 1s linear infinite;
}
@keyframes spin-5e5da4aa {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}

/* Toast提示样式 */
.toast-container[data-v-5e5da4aa] {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
}
.toast[data-v-5e5da4aa] {
  padding: 12px 20px;
  border-radius: 4px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  animation: slideIn-5e5da4aa 0.3s ease;
  color: white;
  font-size: 14px;
  font-weight: 500;
  min-width: 200px;
  max-width: 400px;
}
.toast-success[data-v-5e5da4aa] {
  background-color: #4caf50;
}
.toast-error[data-v-5e5da4aa] {
  background-color: #f44336;
}
.toast-warning[data-v-5e5da4aa] {
  background-color: #ff9800;
}
@keyframes slideIn-5e5da4aa {
from {
    opacity: 0;
    transform: translateX(100%);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}

/* 加载遮罩层样式 */
.loading-overlay[data-v-5e5da4aa] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  opacity: 1;
  transition: opacity 0.3s ease-out;
}
.loading-overlay.fade-out[data-v-5e5da4aa] {
  opacity: 0;
}
.loading-content[data-v-5e5da4aa] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.loading-spinner-large[data-v-5e5da4aa] {
  animation: spin-5e5da4aa 1s linear infinite;
  color: #374151;
}

/* 响应式设计 */
@media (max-width: 640px) {
.email-config-dialog[data-v-5e5da4aa] {
    width: 95vw;
    margin: 10px;
}
.footer-buttons[data-v-5e5da4aa] {
    flex-direction: column;
}
.btn-cancel[data-v-5e5da4aa],
  .btn-clear[data-v-5e5da4aa],
  .btn-save[data-v-5e5da4aa] {
    width: 100%;
}
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/user/ServerConfig.vue?vue&type=style&index=0&id=6f60afe9&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.server-config-dialog[data-v-6f60afe9] {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
  width: 480px !important;
  max-width: 90vw !important;
  max-height: 90vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
.server-config-header[data-v-6f60afe9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
}
.server-config-header h3[data-v-6f60afe9] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #111827;
}
.close-dialog-btn[data-v-6f60afe9] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  color: #6b7280;
  transition: all 0.2s;
}
.close-dialog-btn[data-v-6f60afe9]:hover {
  background: #f3f4f6;
  color: #374151;
}
.server-config-content[data-v-6f60afe9] {
  padding: 24px;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
}
.form-group[data-v-6f60afe9] {
  margin-bottom: 20px;
}
.form-group label[data-v-6f60afe9] {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #374151;
  font-size: 14px;
}
.form-input[data-v-6f60afe9] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 14px;
  transition: all 0.2s;
  box-sizing: border-box;
  max-width: 100%;
}
.form-input[data-v-6f60afe9]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.required[data-v-6f60afe9] {
  color: #f44336;
  margin-right: 4px;
}
.server-config-footer[data-v-6f60afe9] {
  padding: 20px 24px;
  border-top: 1px solid #e5e7eb;
  background: #f9fafb;
}
.footer-buttons[data-v-6f60afe9] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.btn-cancel[data-v-6f60afe9],
.btn-save[data-v-6f60afe9] {
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
}
.btn-cancel[data-v-6f60afe9] {
  background: #f3f4f6;
  color: #374151;
  border-color: #d1d5db;
}
.btn-cancel[data-v-6f60afe9]:hover {
  background: #e5e7eb;
}
.btn-save[data-v-6f60afe9] {
  background: #3b82f6;
  color: white;
  border-color: #3b82f6;
}
.btn-save[data-v-6f60afe9]:hover:not(:disabled) {
  background: #2563eb;
}
.btn-save[data-v-6f60afe9]:disabled {
  background: #9ca3af;
  cursor: not-allowed;
  border-color: #9ca3af;
}
@media (max-width: 640px) {
.server-config-dialog[data-v-6f60afe9] {
    width: 95vw;
    margin: 10px;
}
.footer-buttons[data-v-6f60afe9] {
    flex-direction: column;
}
.btn-cancel[data-v-6f60afe9],
  .btn-save[data-v-6f60afe9] {
    width: 100%;
}
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ExtensionDetector.vue?vue&type=style&index=0&id=325442b6&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* ===== 插件检测组件样式 ===== */

/* 主容器 */
.extension-detector[data-v-325442b6] {
  position: relative;
  display: inline-block;
}

/* ===== 检测中状态 ===== */
/* 旋转的加载图标 */
.detector-loading[data-v-325442b6] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.detector-loading[data-v-325442b6]:hover {
  background: rgba(0, 0, 0, 0.05);
}
.loading-icon[data-v-325442b6] {
  width: 24px;
  height: 24px;
  color: #6b7280;
  animation: spin-325442b6 1s linear infinite;
}
@keyframes spin-325442b6 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}

/* ===== 插件未安装状态 ===== */
/* 感叹号提示按钮 */
.detector-install[data-v-325442b6] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #fef3c7;
  border: 1px solid #f59e0b;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}
.detector-install[data-v-325442b6]:hover {
  background: #fde68a;
  border-color: #d97706;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(245, 158, 11, 0.3);
}
.install-icon[data-v-325442b6] {
  width: 20px;
  height: 20px;
  color: #d97706;
  flex-shrink: 0;
}
.install-text[data-v-325442b6] {
  font-size: 14px;
  font-weight: 500;
  color: #92400e;
  white-space: nowrap;
}

/* ===== 脉冲动画效果 ===== */
.pulse-animation[data-v-325442b6] {
  animation: pulse-325442b6 0.6s ease-in-out;
}
@keyframes pulse-325442b6 {
0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
}
50% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(245, 158, 11, 0.3);
}
100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
}
}

/* ===== 悬停桥梁区域 ===== */
/* 连接按钮和菜单，防止鼠标移动时菜单意外关闭 */
.hover-bridge[data-v-325442b6] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 8px;
  /* 覆盖按钮和菜单之间的间隙 */
  background: transparent;
  z-index: 999;
  /* 低于菜单但高于其他元素 */
}

/* ===== 浏览器安装列表 ===== */
/* 下拉菜单，显示支持的浏览器和安装链接 */
.browser-list[data-v-325442b6] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 10px;
  margin-top: 8px;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  min-width: 280px;
  max-width: calc(100vw - 40px);
  /* 确保与浏览器边缘保持20px间隔 */
  overflow: hidden;
  /* 智能定位：当菜单超出右边缘时自动左对齐 */
  transform-origin: top left;
  /* 添加过渡动画，使位置调整更平滑 */
  transition: transform 0.2s ease;
}
.browser-item[data-v-325442b6] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid #f3f4f6;
  transition: background-color 0.2s ease;
}
.browser-item[data-v-325442b6]:last-child {
  border-bottom: none;
}
.browser-item[data-v-325442b6]:hover {
  background: #f9fafb;
}

/* 当前浏览器特殊样式 */
.browser-item.current-browser[data-v-325442b6] {
  background: #f0fdf4;
  border: 2px solid #10b981;
  border-radius: 8px;
  margin: 8px 0;
  position: relative;
}
.browser-item.current-browser[data-v-325442b6]::before {
  content: attr(data-label);
  position: absolute;
  top: -8px;
  left: 16px;
  background: #10b981;
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 10px;
  font-weight: 600;
  z-index: 1;
}

/* 推荐浏览器特殊样式 */
.browser-item.recommended-browser[data-v-325442b6] {
  background: #fef3c7;
  border: 2px solid #f59e0b;
  border-radius: 8px;
  margin: 8px 0;
  position: relative;
}
.browser-item.recommended-browser[data-v-325442b6]::before {
  content: attr(data-label);
  position: absolute;
  top: -8px;
  left: 16px;
  background: #f59e0b;
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 10px;
  font-weight: 600;
  z-index: 1;
}
.current-install-btn[data-v-325442b6] {
  background: #10b981 !important;
  color: white !important;
  font-weight: 600 !important;
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.current-install-btn[data-v-325442b6]:hover {
  background: #059669 !important;
  transform: scale(1.1) translateY(-1px);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
}
.recommended-install-btn[data-v-325442b6] {
  background: #f59e0b !important;
  color: white !important;
  font-weight: 600 !important;
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}
.recommended-install-btn[data-v-325442b6]:hover {
  background: #d97706 !important;
  transform: scale(1.1) translateY(-1px);
  box-shadow: 0 6px 16px rgba(245, 158, 11, 0.4);
}
.browser-icon[data-v-325442b6] {
  width: 24px;
  height: 24px;
  color: #6b7280;
  flex-shrink: 0;
}
.browser-info[data-v-325442b6] {
  flex: 1;
  min-width: 0;
}
.browser-name[data-v-325442b6] {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 2px;
}
.browser-desc[data-v-325442b6] {
  font-size: 12px;
  color: #6b7280;
}
.browser-note[data-v-325442b6] {
  font-size: 11px;
  color: #9ca3af;
  font-style: italic;
  margin-top: 2px;
}
.browser-install-btn[data-v-325442b6] {
  padding: 6px 12px;
  background: #3b82f6;
  color: white;
  text-decoration: none;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.browser-install-btn[data-v-325442b6]:hover {
  background: #2563eb;
  transform: translateY(-1px);
}

/* ===== 离线安装包样式 ===== */
/* 离线安装包现在使用和其他浏览器完全一样的样式，没有任何特殊样式 */

/* ===== 动画效果 ===== */
/* 组件淡入淡出和菜单展开收起动画 */
.detector-fade-enter-active[data-v-325442b6],
.detector-fade-leave-active[data-v-325442b6] {
  transition: all 0.5s ease;
}
.detector-fade-enter-from[data-v-325442b6] {
  opacity: 0;
  transform: translateX(100%);
}
.detector-fade-leave-to[data-v-325442b6] {
  opacity: 0;
  transform: translateX(100%);
}
.browser-list-enter-active[data-v-325442b6],
.browser-list-leave-active[data-v-325442b6] {
  transition: all 0.3s ease;
}
.browser-list-enter-from[data-v-325442b6],
.browser-list-leave-to[data-v-325442b6] {
  opacity: 0;
  transform: translateY(-10px);
}

/* ===== 响应式设计 ===== */
/* 平板设备适配 */
@media (max-width: 768px) {
.browser-list[data-v-325442b6] {
    min-width: 250px;
    max-width: calc(100vw - 20px);
    /* 在移动端保持10px间隔 */
    right: 10px;
    left: 10px;
    width: auto;
}
.detector-install[data-v-325442b6] {
    padding: 6px 10px;
}
.install-text[data-v-325442b6] {
    font-size: 13px;
}
}

/* 超窄屏设备适配 */
@media (max-width: 480px) {
.browser-list[data-v-325442b6] {
    min-width: 200px;
    max-width: calc(100vw - 16px);
    /* 在超窄屏保持8px间隔 */
    right: 8px;
    left: 8px;
}
.browser-item[data-v-325442b6] {
    padding: 12px;
}
.browser-name[data-v-325442b6] {
    font-size: 13px;
}
.browser-desc[data-v-325442b6] {
    font-size: 11px;
}
.browser-install-btn[data-v-325442b6] {
    padding: 4px 8px;
    font-size: 11px;
}
}

/* ===== 通知弹窗样式 ===== */
/* 悬浮在右上角的插件安装提示弹窗 */
.extension-notification[data-v-325442b6] {
  position: fixed;
  /* 固定定位，悬浮在浏览器右上角 */
  top: 80px;
  right: 20px;
  z-index: 1000;
  max-width: 320px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  border: 1px solid #e5e7eb;
  overflow: hidden;
}

/* 通知头部样式 */
/* 图标和标题在同一行显示 */
.notification-header[data-v-325442b6] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  /* 添加底部内边距，与内容区域分离 */
  border-bottom: 1px solid #f3f4f6;
  /* 添加细线分隔头部和内容 */
}
.notification-content[data-v-325442b6] {
  display: flex;
  flex-direction: column;
  /* 改为垂直布局 */
  padding: 16px;
  gap: 0;
  /* 移除gap，因为现在是上下布局 */
}
.notification-icon[data-v-325442b6] {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: #ef4444;
  display: flex;
  align-items: center;
  justify-content: center;
}
.notification-text[data-v-325442b6] {
  flex: 1;
  min-width: 0;
}
.notification-title[data-v-325442b6] {
  font-weight: 600;
  font-size: 16px;
  color: #111827;
  margin-bottom: 0;
  /* 在header中不需要底部边距 */
  line-height: 1.2;
  /* 确保行高合适 */
}
.notification-message[data-v-325442b6] {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.4;
}
.notification-install-links[data-v-325442b6] {
  margin-top: 12px;
}
.install-link[data-v-325442b6] {
  display: inline-block;
  padding: 8px 16px;
  background: #3b82f6;
  color: white;
  text-decoration: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
}
.install-link[data-v-325442b6]:hover {
  background: #2563eb;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
.install-link.offline-link[data-v-325442b6] {
  background: #10b981;
  margin-left: 8px;
}
.install-link.offline-link[data-v-325442b6]:hover {
  background: #059669;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.notification-close[data-v-325442b6] {
  position: absolute;
  /* 相对于弹窗容器定位 */
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border: none;
  background: #f3f4f6;
  cursor: pointer;
  color: #6b7280;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  border: 1px solid #e5e7eb;
}
.notification-close[data-v-325442b6]:hover {
  background: #e5e7eb;
  color: #374151;
  transform: scale(1.05);
}

/* 通知动画效果 */
/* 弹窗的淡入淡出动画 */
.notification-enter-active[data-v-325442b6],
.notification-leave-active[data-v-325442b6] {
  transition: all 0.3s ease;
}
.notification-enter-from[data-v-325442b6] {
  opacity: 0;
  transform: translateX(100%);
}
.notification-leave-to[data-v-325442b6] {
  opacity: 0;
  transform: translateX(100%);
}
.fade-out[data-v-325442b6] {
  opacity: 0;
  transform: translateX(100%);
}

/* ===== 为何要装插件卡片样式 ===== */
/* 橘黄色背景的说明卡片，突出显示插件的重要性 */
.why-install-card[data-v-325442b6] {
  background: rgba(245, 158, 11, 0.1);
  /* 橘黄色背景，透明度0.1 */
  border: 2px solid rgba(245, 158, 11, 0.3);
  /* 橘黄色边框，透明度0.3 */
  border-radius: 8px;
  padding: 12px;
  margin: 12px 0;
}
.why-install-title[data-v-325442b6] {
  font-size: 16px;
  font-weight: 600;
  color: #92400e;
  /* 深橘色标题 */
  margin-bottom: 8px;
}
.why-install-content[data-v-325442b6] {
  color: #6b7280;
  font-size: 14px;
  line-height: 1.6;
}

/* ===== 响应式设计 ===== */
/* 移动端设备适配 */
@media (max-width: 768px) {
.extension-notification[data-v-325442b6] {
    right: 10px;
    left: 10px;
    max-width: none;
}
.why-install-card[data-v-325442b6] {
    padding: 10px;
    margin: 10px 0;
}
.why-install-title[data-v-325442b6] {
    font-size: 15px;
}
.why-install-content[data-v-325442b6] {
    font-size: 13px;
}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/user/PointsUsageSummary.vue?vue&type=style&index=0&id=56ef344c&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.points-usage-summary[data-v-56ef344c] {
  /* 移除固定样式，让父组件控制 */
  background: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  max-width: none;
  margin: 0;
  border: none;
  width: 100%;
}

/* 控制面板 */
.control-panel[data-v-56ef344c] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding: 0;
  background: transparent;
  border-radius: 0;
  flex-wrap: wrap;
  border: none;
  box-shadow: none;
  justify-content: flex-start;
}
.control-group[data-v-56ef344c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.date-range[data-v-56ef344c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.date-input-wrapper[data-v-56ef344c] {
  position: relative;
  display: flex;
  align-items: center;
}
.date-icon[data-v-56ef344c] {
  color: #666;
  margin-right: 8px;
  flex-shrink: 0;
}
.loading-icon[data-v-56ef344c] {
  animation: spin-56ef344c 1s linear infinite;
}
.spinning-icon[data-v-56ef344c] {
  animation: spin-56ef344c 1s linear infinite;
}
@keyframes spin-56ef344c {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.error-icon[data-v-56ef344c] {
  color: #dc3545;
  margin-bottom: 16px;
}
.empty-icon[data-v-56ef344c] {
  color: #6c757d;
  margin-bottom: 16px;
  opacity: 0.5;
}
.date-input[data-v-56ef344c] {
  padding: 8px 12px 8px 36px;
  border: 1px solid #e8eaed;
  border-radius: 6px;
  font-size: 13px;
  min-width: 120px;
  transition: all 0.3s ease;
  background: white;
  color: #202124;
  font-weight: 400;
}
.date-input[data-v-56ef344c]:focus {
  outline: none;
  border-color: #4285f4;
  box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.1);
}
.date-separator[data-v-56ef344c] {
  color: #9aa0a6;
  font-size: 13px;
  font-weight: 400;
}
.query-btn[data-v-56ef344c] {
  padding: 8px 16px;
  background: #4285f4;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  align-self: flex-end;
  box-shadow: none;
  letter-spacing: 0.3px;
}
.query-btn[data-v-56ef344c]:hover:not(:disabled) {
  background: #3367d6;
  transform: translateY(-1px);
}
.query-btn[data-v-56ef344c]:active:not(:disabled) {
  transform: translateY(0);
}
.query-btn[data-v-56ef344c]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* 图表区域 */
.chart-container[data-v-56ef344c] {
  position: relative;
  margin-bottom: 20px;
  background: transparent;
  border-radius: 0;
  padding: 0;
  border: none;
  box-shadow: none;
}
.loading-overlay[data-v-56ef344c] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: 16px;
}
.loading-spinner[data-v-56ef344c] {
  text-align: center;
  color: #4285f4;
}
.loading-spinner p[data-v-56ef344c] {
  margin: 0;
  font-size: 16px;
  color: #5f6368;
  font-weight: 500;
}
.empty-state[data-v-56ef344c] {
  text-align: center;
  padding: 60px 20px;
  color: #5f6368;
}
.empty-state p[data-v-56ef344c] {
  margin: 0 0 12px 0;
  font-size: 16px;
  color: #202124;
  font-weight: 500;
}
.empty-hint[data-v-56ef344c] {
  font-size: 14px;
  color: #9aa0a6;
  font-weight: 400;
}
.error-state[data-v-56ef344c] {
  text-align: center;
  padding: 60px 20px;
  color: #5f6368;
  background-color: #fde7e7;
  border: 1px solid #f5c6cb;
  border-radius: 8px;
  margin-top: 20px;
}
.error-state p[data-v-56ef344c] {
  margin-bottom: 12px;
  font-size: 16px;
  color: #202124;
  font-weight: 500;
}
.error-message[data-v-56ef344c] {
  font-size: 14px;
  color: #f5c6cb;
  font-weight: 400;
  margin-bottom: 20px;
}
.retry-btn[data-v-56ef344c] {
  padding: 8px 16px;
  background: #4285f4;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  box-shadow: none;
  letter-spacing: 0.3px;
}
.retry-btn[data-v-56ef344c]:hover:not(:disabled) {
  background: #3367d6;
  transform: translateY(-1px);
}
.retry-btn[data-v-56ef344c]:active:not(:disabled) {
  transform: translateY(0);
}
.retry-btn[data-v-56ef344c]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.chart[data-v-56ef344c] {
  width: 100%;
  height: 100%;
  border-radius: 8px;
}

/* 响应式设计 */
@media (max-width: 768px) {
.control-panel[data-v-56ef344c] {
    flex-direction: column;
    align-items: stretch;
}
.control-group[data-v-56ef344c] {
    width: 100%;
}
.control-input[data-v-56ef344c],
  .date-input[data-v-56ef344c] {
    min-width: auto;
    width: 100%;
}
.date-range[data-v-56ef344c] {
    flex-direction: column;
    align-items: stretch;
}
.query-btn[data-v-56ef344c] {
    align-self: stretch;
    justify-content: center;
}
}
@media (max-width: 480px) {
.points-usage-summary[data-v-56ef344c] {
    padding: 16px;
}
.control-panel[data-v-56ef344c] {
    padding: 16px;
}
}

/*
使用示例：

1. 基本使用（显示控制面板和图表）：
<PointsUsageSummary />

2. 只显示图表，不显示控制面板：
<PointsUsageSummary :show-controls="false" />

3. 自定义图表尺寸：
<PointsUsageSummary 
  :chart-height="400"
  :chart-width="'800px'"
/>

4. 在对话框中使用（紧凑布局）：
<PointsUsageSummary 
  :show-controls="true"
  :chart-height="300"
  :chart-width="'100%'"
  container-class="dialog-chart-controls"
/>

5. 在侧边栏中使用（窄宽度）：
<PointsUsageSummary 
  :show-controls="true"
  :chart-height="250"
  :chart-width="'300px'"
  container-class="sidebar-chart"
/>

6. 禁用自动加载，手动控制：
<PointsUsageSummary 
  :auto-load="false"
  :show-controls="true"
  ref="usageSummary"
/>

Props 说明：
- showControls: 是否显示控制面板（日期选择器和查询按钮）
- chartHeight: 图表高度（可以是数字或字符串，如 350 或 '350px'）
- chartWidth: 图表宽度（字符串，如 '100%' 或 '800px'）
- containerClass: 容器样式类名，用于自定义样式
- autoLoad: 是否自动加载数据
- initialDays: 初始日期范围（天数）

公共方法：
- resizeChart(): 重新调整图表尺寸
*/

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/user/PointsLogsDetail.vue?vue&type=style&index=0&id=99d722b2&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.points-logs-detail[data-v-99d722b2] {
  width: 100%;
}

/* 筛选器样式 */
.filter-controls[data-v-99d722b2] {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
  background: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid #e9ecef;
}
.filter-select[data-v-99d722b2], .filter-date[data-v-99d722b2] {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
}
.filter-select[data-v-99d722b2] {
  min-width: 120px;
}
.filter-date[data-v-99d722b2] {
  min-width: 140px;
}
.btn-primary[data-v-99d722b2] {
  background: #1976d2;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.btn-primary[data-v-99d722b2]:hover:not(:disabled) {
  background: #1565c0;
}
.btn-primary[data-v-99d722b2]:disabled {
  background: #6c757d;
  cursor: not-allowed;
  opacity: 0.6;
}
.points-logs[data-v-99d722b2] {
  background: white;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}
.logs-table[data-v-99d722b2] {
  overflow: visible;
}
.table-skeleton[data-v-99d722b2] {
  width: 100%;
  overflow-x: auto;
}
.skeleton-table[data-v-99d722b2] {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 13px;
}
.skeleton-table th[data-v-99d722b2] {
  background: #f8f9fa;
  font-weight: bold;
  color: #333;
  font-size: 12px;
  padding: 4px 6px;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.1;
  height: 28px;
}
.skeleton-table td[data-v-99d722b2] {
  padding: 4px 6px;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.1;
  height: 28px;
  vertical-align: middle;
}
.skeleton-table th[data-v-99d722b2]:nth-child(1),
.skeleton-table td[data-v-99d722b2]:nth-child(1) {
  width: 140px;
}
.skeleton-table th[data-v-99d722b2]:nth-child(2),
.skeleton-table td[data-v-99d722b2]:nth-child(2) {
  width: 80px;
}
.skeleton-table th[data-v-99d722b2]:nth-child(3),
.skeleton-table td[data-v-99d722b2]:nth-child(3) {
  width: 160px;
}
.skeleton-table th[data-v-99d722b2]:nth-child(4),
.skeleton-table td[data-v-99d722b2]:nth-child(4) {
  width: 100px;
}
.skeleton-text[data-v-99d722b2] {
  height: 12px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer-99d722b2 1.5s infinite;
  border-radius: 2px;
  margin: 0;
  display: inline-block;
  width: 80%;
}
.skeleton-badge[data-v-99d722b2] {
  height: 16px;
  width: 45px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer-99d722b2 1.5s infinite;
  border-radius: 6px;
  margin: 0;
  display: inline-block;
}
.skeleton-amount[data-v-99d722b2] {
  height: 12px;
  width: 60px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer-99d722b2 1.5s infinite;
  border-radius: 2px;
  margin: 0;
  display: inline-block;
}
@keyframes shimmer-99d722b2 {
0% { background-position: -200% 0;
}
100% { background-position: 200% 0;
}
}
.data-table[data-v-99d722b2] {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 13px;
}
.data-table th[data-v-99d722b2],
.data-table td[data-v-99d722b2] {
  padding: 4px 6px;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
  overflow: visible;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.1;
  height: 28px;
  vertical-align: middle;
  position: relative;
}
.data-table th[data-v-99d722b2]:nth-child(1),
.data-table td[data-v-99d722b2]:nth-child(1) {
  width: 140px;
}
.data-table th[data-v-99d722b2]:nth-child(2),
.data-table td[data-v-99d722b2]:nth-child(2) {
  width: 80px;
}
.data-table th[data-v-99d722b2]:nth-child(3),
.data-table td[data-v-99d722b2]:nth-child(3) {
  width: 160px;
}
.data-table th[data-v-99d722b2]:nth-child(4),
.data-table td[data-v-99d722b2]:nth-child(4) {
  width: 100px;
}
.data-table th[data-v-99d722b2] {
  background: #f8f9fa;
  font-weight: bold;
  color: #333;
  font-size: 12px;
}
.action-badge[data-v-99d722b2] {
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: bold;
  display: inline-block;
  min-width: 45px;
  text-align: center;
}
.badge-gain[data-v-99d722b2] {
  background: #d4edda;
  color: #155724;
}
.badge-cost[data-v-99d722b2] {
  background: #f8d7da;
  color: #721c24;
}
.badge-default[data-v-99d722b2] {
  background: #e2e3e5;
  color: #383d41;
}
.amount-gain[data-v-99d722b2] {
  color: #28a745;
  font-weight: bold;
}
.amount-cost[data-v-99d722b2] {
  color: #dc3545;
  font-weight: bold;
}
.empty-state[data-v-99d722b2] {
  text-align: center;
  padding: 24px;
  color: #666;
}
.empty-state svg[data-v-99d722b2] {
  width: 32px;
  height: 32px;
  margin-bottom: 12px;
  opacity: 0.5;
}
.pagination[data-v-99d722b2] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}
.page-btn[data-v-99d722b2] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  color: #6c757d;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}
.page-btn[data-v-99d722b2]:hover:not(:disabled) {
  background: #e9ecef;
  border-color: #adb5bd;
  color: #495057;
}
.page-btn[data-v-99d722b2]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.page-btn svg[data-v-99d722b2] {
  width: 12px;
  height: 12px;
  fill: currentColor;
}
.page-info[data-v-99d722b2] {
  color: #666;
  font-size: 14px;
}
.loading-overlay[data-v-99d722b2] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.loading-spinner[data-v-99d722b2] {
  text-align: center;
  color: #667eea;
}
.loading-spinner svg[data-v-99d722b2] {
  width: 32px;
  height: 32px;
  fill: #667eea;
  animation: spin-99d722b2 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-99d722b2 {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.action-description[data-v-99d722b2] {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  min-height: 20px;
  justify-content: flex-start;
}
.description-text[data-v-99d722b2] {
  flex: 0 1 auto;
}
.detail-btn[data-v-99d722b2] {
  background: none;
  border: 1px solid #667eea;
  color: #667eea;
  font-size: 11px;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.detail-btn[data-v-99d722b2]:hover {
  background: #667eea;
  color: white;
}
.detail-btn.expanded[data-v-99d722b2] {
  background: #667eea;
  color: white;
}
.detail-btn svg[data-v-99d722b2] {
  width: 10px;
  height: 10px;
  fill: currentColor;
}
.spider-tooltip[data-v-99d722b2] {
  position: absolute !important;
  left: 0 !important;
  z-index: 99999 !important;
  pointer-events: auto;
  min-width: 300px;
  background: transparent;
}
.spider-tooltip.bottom[data-v-99d722b2] {
  top: 100% !important;
  margin-top: 4px;
}
.spider-tooltip.top[data-v-99d722b2] {
  bottom: 100% !important;
  margin-bottom: 4px;
}
.tooltip-content[data-v-99d722b2] {
  background: white !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 8px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  min-width: 320px;
  max-width: 480px;
  overflow: hidden;
  position: relative;
  z-index: 100000;
  background: #ffffff !important;
}
.tooltip-header[data-v-99d722b2] {
  background: #f8f9fa;
  padding: 8px 12px;
  border-bottom: 1px solid #dee2e6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 500;
  color: #495057;
}
.tooltip-header svg[data-v-99d722b2] {
  color: #667eea;
  margin-right: 6px;
}
.close-btn[data-v-99d722b2] {
  background: none;
  border: none;
  color: #6c757d;
  cursor: pointer;
  padding: 2px;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.close-btn[data-v-99d722b2]:hover {
  background: #e9ecef;
  color: #495057;
}
.close-btn svg[data-v-99d722b2] {
  width: 10px;
  height: 10px;
  fill: currentColor;
}
.tooltip-body[data-v-99d722b2] {
  padding: 12px;
}
.detail-row[data-v-99d722b2] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 11px;
  line-height: 1.4;
}
.detail-row[data-v-99d722b2]:last-child {
  margin-bottom: 0;
}
.detail-label[data-v-99d722b2] {
  font-weight: 500;
  color: #495057;
  min-width: 80px;
  margin-right: 8px;
  flex-shrink: 0;
}
.detail-value[data-v-99d722b2] {
  color: #6c757d;
  word-break: break-all;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.detail-row:first-child .detail-value[data-v-99d722b2] {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.table-skeleton[data-v-99d722b2],
.data-table[data-v-99d722b2] {
  transition: opacity 0.3s ease-in-out;
}
.table-skeleton[data-v-99d722b2] {
  opacity: 1;
}
.data-table[data-v-99d722b2] {
  opacity: 1;
}
.table-skeleton.loading[data-v-99d722b2] {
  opacity: 0.8;
}
.data-table.loading[data-v-99d722b2] {
  opacity: 0.6;
}
@media (max-width: 768px) {
.logs-table[data-v-99d722b2] {
    font-size: 14px;
}
.table-skeleton[data-v-99d722b2], .data-table[data-v-99d722b2] {
    font-size: 12px;
}
.table-skeleton th[data-v-99d722b2], .data-table th[data-v-99d722b2],
  .table-skeleton td[data-v-99d722b2], .data-table td[data-v-99d722b2] {
    padding: 12px 8px;
}
.pagination[data-v-99d722b2] {
    flex-direction: column;
    gap: 12px;
}
.filter-controls[data-v-99d722b2] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
.filter-select[data-v-99d722b2], .filter-date[data-v-99d722b2] {
    min-width: 100%;
}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/user/PointsDetailDialog.vue?vue&type=style&index=0&id=d44d3f00&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.points-detail[data-v-d44d3f00] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px; /* 增加一些内边距 */
}
.page-header[data-v-d44d3f00] {
  text-align: center;
  margin-bottom: 20px; /* 增加一些下边距 */
}
.page-header h2[data-v-d44d3f00] {
  color: #333;
  margin-bottom: 10px; /* 增加下边距 */
}
.page-description[data-v-d44d3f00] {
  color: #666;
  font-size: 15px; /* 增加字体大小 */
}

/* 积分概览 */
.points-overview[data-v-d44d3f00] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* 增加最小宽度 */
  gap: 16px; /* 增加间距 */
  margin-bottom: 20px; /* 增加下边距 */
}
.overview-card[data-v-d44d3f00] {
  background: white;
  border-radius: 12px;
  padding: 16px; /* 增加内边距 */
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 16px; /* 增加间距 */
}
.card-icon[data-v-d44d3f00] {
  width: 48px; /* 增加图标大小 */
  height: 48px; /* 增加图标大小 */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px; /* 增加图标字体 */
  color: white;
}
.card-icon svg[data-v-d44d3f00] {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.balance-card .card-icon[data-v-d44d3f00] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.membership-card .card-icon[data-v-d44d3f00] {
  background: linear-gradient(135deg, #ffd700 0%, #ff8c00 100%);
  box-shadow: 0 4px 12px rgba(255, 215, 0, 0.3);
}
.membership-card.expiring-soon .card-icon[data-v-d44d3f00] {
  background: linear-gradient(135deg, #ffc107 0%, #ff8c00 100%);
  animation: pulse 2s infinite;
}
.membership-card.expiring-soon[data-v-d44d3f00] {
  border: 2px solid #ffc107;
  box-shadow: 0 4px 20px rgba(255, 193, 7, 0.2);
}
.card-content h3[data-v-d44d3f00] {
  margin: 0 0 8px 0; /* 增加下边距 */
  color: #333;
  font-size: 15px; /* 增加字体大小 */
}
.balance-amount[data-v-d44d3f00] {
  font-size: 26px; /* 增加字体大小 */
  font-weight: bold;
  color: #667eea;
  margin-bottom: 8px; /* 增加下边距 */
}
.membership-level[data-v-d44d3f00] {
  font-size: 20px; /* 增加字体大小 */
  font-weight: bold;
  margin-bottom: 8px; /* 增加下边距 */
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* VIP/Premium 会员 - 金色渐变 */
.membership-vip[data-v-d44d3f00] {
  background: linear-gradient(135deg, #ffd700 0%, #ff8c00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 2px 4px rgba(255, 215, 0, 0.3);
}

/* Pro/专业版 会员 - 黄色渐变 */
.membership-pro[data-v-d44d3f00] {
  background: linear-gradient(135deg, #ffd700 0%, #ff8c00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 2px 4px rgba(255, 215, 0, 0.3);
}

/* Free/免费版 会员 - 蓝色渐变 */
.membership-free[data-v-d44d3f00] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
}
.membership-default[data-v-d44d3f00] {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 2px 4px rgba(240, 147, 251, 0.3);
}
.balance-details[data-v-d44d3f00],
.membership-details[data-v-d44d3f00] {
  display: flex;
  flex-direction: column;
  gap: 4px; /* 增加间距 */
}
.detail-item[data-v-d44d3f00] {
  font-size: 12px; /* 增加字体大小 */
  color: #666;
  display: flex;
  align-items: center;
  gap: 6px; /* 增加图标和文字间距 */
}
.detail-item svg[data-v-d44d3f00] {
  width: 14px;
  height: 14px;
  fill: currentColor;
  flex-shrink: 0;
}
.detail-item.text-warning svg[data-v-d44d3f00] {
  color: #ffc107;
}
.chart-toggle[data-v-d44d3f00] {
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(102, 126, 234, 0.1);
  color: #667eea;
  font-weight: 500;
}
.chart-toggle[data-v-d44d3f00]:hover {
  background: rgba(102, 126, 234, 0.2);
  transform: translateY(-1px);
}
.chart-toggle i[data-v-d44d3f00] {
  color: #667eea;
}
.text-success[data-v-d44d3f00] {
  color: #28a745;
}
.text-danger[data-v-d44d3f00] {
  color: #dc3545;
}
.text-warning[data-v-d44d3f00] {
  color: #ffc107;
}

/* 积分余额详情 */
.points-balance-detail[data-v-d44d3f00] {
  background: white;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 30px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}
.balance-entries[data-v-d44d3f00] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.balance-entry[data-v-d44d3f00] {
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 16px;
  background: #f8f9fa;
}
.expiring-soon .entry-header[data-v-d44d3f00] {
  border-left: 4px solid #ffc107; /* 黄色警告边框 */
  padding-left: 10px;
}
.expiring-soon .entry-amount .amount-value[data-v-d44d3f00] {
  color: #ffc107; /* 黄色警告文字 */
}
.expiring-soon .entry-status .remaining-amount[data-v-d44d3f00] {
  color: #ffc107; /* 黄色警告文字 */
}
.expiring-soon .entry-footer .expire-info i[data-v-d44d3f00] {
  color: #ffc107; /* 黄色警告图标 */
}
.expiring-soon .entry-footer .expire-info .expiring-text[data-v-d44d3f00] {
  color: #ffc107; /* 黄色警告文字 */
}
.expiring-soon .entry-footer .expire-info .expiring-badge[data-v-d44d3f00] {
  background-color: #fff3cd; /* 黄色警告背景 */
  color: #856404; /* 黄色警告文字 */
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
}
.entry-header[data-v-d44d3f00] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.entry-amount[data-v-d44d3f00] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.amount-label[data-v-d44d3f00] {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}
.amount-value[data-v-d44d3f00] {
  font-size: 18px;
  font-weight: bold;
  color: #667eea;
}
.entry-status[data-v-d44d3f00] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: right;
}
.used-amount[data-v-d44d3f00] {
  font-size: 14px;
  color: #dc3545;
}
.remaining-amount[data-v-d44d3f00] {
  font-size: 14px;
  color: #28a745;
  font-weight: 500;
}
.entry-footer[data-v-d44d3f00] {
  border-top: 1px solid #e9ecef;
  padding-top: 12px;
}
.expire-info[data-v-d44d3f00] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #666;
}
.expire-info i[data-v-d44d3f00] {
  font-size: 12px;
}
.expiring-warning[data-v-d44d3f00] {
  color: #ffc107; /* 黄色警告图标 */
}
.expiring-text[data-v-d44d3f00] {
  color: #ffc107; /* 黄色警告文字 */
}

/* 过期提醒 */
.expiry-warning[data-v-d44d3f00] {
  background: #fff3cd; /* 黄色警告背景 */
  border: 1px solid #ffeeba; /* 黄色警告边框 */
  border-radius: 8px;
  padding: 16px;
  margin-top: 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}
.warning-header[data-v-d44d3f00] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #856404; /* 黄色警告文字 */
}
.warning-header i[data-v-d44d3f00] {
  font-size: 20px;
}
.warning-content p[data-v-d44d3f00] {
  margin-bottom: 10px;
  color: #856404; /* 黄色警告文字 */
}
.expiring-list[data-v-d44d3f00] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.expiring-item[data-v-d44d3f00] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  color: #856404; /* 黄色警告文字 */
}
.expiring-item .expire-date[data-v-d44d3f00] {
  font-weight: bold;
}


/* 积分明细对话框中的日志详情组件样式 */
.detail-logs-component[data-v-d44d3f00] {
  margin-top: 0;
}
.detail-logs-component .logs-table[data-v-d44d3f00] {
  margin-top: 0;
}
.detail-logs-component .pagination[data-v-d44d3f00] {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e9ecef;
}

/* 图表区域样式 */
.chart-section[data-v-d44d3f00] {
  background: white;
  border-radius: 12px;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  overflow: visible;
  border: 1px solid #e9ecef;
}
.chart-section-header[data-v-d44d3f00] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
  background: #f8f9fa;
  border-radius: 12px 12px 0 0;
}
.chart-section-header h3[data-v-d44d3f00] {
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 600;
}
.chart-section-body[data-v-d44d3f00] {
  padding: 20px;
}

/* 响应式设计 */
@media (max-width: 768px) {
.points-overview[data-v-d44d3f00] {
    grid-template-columns: 1fr;
}
.overview-card[data-v-d44d3f00] {
    flex-direction: column;
    text-align: center;
}
.chart-card[data-v-d44d3f00] {
    order: -1;
}
.section-header[data-v-d44d3f00] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.balance-entry[data-v-d44d3f00] {
    padding: 12px;
}
.entry-header[data-v-d44d3f00] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.entry-status[data-v-d44d3f00] {
    text-align: left;
}
}
.chart-close-btn[data-v-d44d3f00] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.chart-close-btn[data-v-d44d3f00]:hover {
  background: #f0f0f0;
  color: #333;
}
.chart-close-btn svg[data-v-d44d3f00] {
  width: 16px;
  height: 16px;
  fill: currentColor;
}
.loading-spinner svg[data-v-d44d3f00] {
  width: 32px;
  height: 32px;
  fill: #667eea;
  animation: spin-d44d3f00 1s linear infinite;
}
@keyframes spin-d44d3f00 {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/SiteHeader.vue?vue&type=style&index=0&id=26f47ce4&scoped=true&lang=css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.top-header[data-v-26f47ce4] {
  width: 100%;
  height: 64px;
  background-color: #f8f8f8;
  border-bottom: 1px solid #d4d4d4;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  flex-shrink: 0;
}
.header-content[data-v-26f47ce4] {
  max-width: 1200px;
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 16px;
  justify-content: space-between;
}
.logo[data-v-26f47ce4] {
  margin-right: 15px;
}
.logo-image[data-v-26f47ce4] {
  filter: drop-shadow(1px 1px 0px rgba(0, 0, 0, 0.5));
  height: 32px;
  width: auto;
  height: 48px;
}

/* Hidden模式下的logo样式 - 更大的尺寸 */
.logo-image.logo-hidden[data-v-26f47ce4] {
  height: 64px;
  width: auto;
}
.nav-menu[data-v-26f47ce4] {
  display: flex;
  gap: 0;
  height: 100%;
  margin-right: auto;
}
.nav-item[data-v-26f47ce4] {
  color: #000000;
  text-decoration: none;
  font-size: 15px !important;
  padding: 0 24px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-align: center;
  min-width: 50px;
  border-radius: 0;
  transition: background-color 0.3s ease, color 0.3s ease;
  font-weight: 500;
  border-right: 1px solid transparent;
}
.nav-item span[data-v-26f47ce4] {
  transition: transform 0.3s ease;
  display: inline-block;
}
.nav-icon[data-v-26f47ce4] {
  margin-right: 6px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

/* 未选中状态的悬浮效果 */
.nav-item:hover:not(.active) span[data-v-26f47ce4],
.nav-item:hover:not(.active) .nav-icon[data-v-26f47ce4] {
  transform: scale(1.1);
}

/* 选中状态 */
.nav-item.active[data-v-26f47ce4] {
  background-color: #efefef;
  color: #222;
  font-weight: 600;
}
.nav-item.active span[data-v-26f47ce4],
.nav-item.active .nav-icon[data-v-26f47ce4] {
  transform: scale(1);
}
.nav-item.active[data-v-26f47ce4]::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #0072c6;
}
.dropdown-container[data-v-26f47ce4] {
  position: relative;
  cursor: pointer;
}
.dropdown-menu[data-v-26f47ce4] {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 160px;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 1001;
  padding: 8px 0;
}
.dropdown-item[data-v-26f47ce4] {
  display: block;
  padding: 8px 16px;
  color: #333;
  text-decoration: none;
  font-size: 13px;
}
.dropdown-item[data-v-26f47ce4]:hover {
  background-color: #f5f5f5;
}
.header-actions[data-v-26f47ce4] {
  display: flex;
  gap: 16px;
  align-items: center;
}
.my-news[data-v-26f47ce4] {
  color: #000000;
  text-decoration: none;
  font-size: 13px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial,
    sans-serif;
}
.btn-search[data-v-26f47ce4] {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-search[data-v-26f47ce4]:hover {
  color: #666;
}
.btn-sign-in[data-v-26f47ce4] {
  padding: 8px 16px;
  border: 1px solid #000000;
  border-radius: 4px;
  background: transparent;
  color: #000000;
  font-size: 13px;
  cursor: pointer;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial,
    sans-serif;
}
.btn-subscribe[data-v-26f47ce4] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  background: #222;
  color: #ffffff;
  font-size: 13px;
  cursor: pointer;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial,
    sans-serif;
  font-weight: 500;
}
.btn-sign-in[data-v-26f47ce4]:hover {
  border-color: #666;
  color: #666;
}
.btn-subscribe[data-v-26f47ce4]:hover {
  background: #333;
}
.user-avatar-wrapper[data-v-26f47ce4] {
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.user-avatar[data-v-26f47ce4] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #2196f3;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.2s ease;
  border: solid 1px white;
  box-shadow: 0 0 3px 2px #00000044;
}
.user-avatar[data-v-26f47ce4]:hover {
  transform: scale(1.05);
}
.user-avatar img[data-v-26f47ce4] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.header-points[data-v-26f47ce4] {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 20px;
  background-color: #f0f0f0;
  font-size: 12px;
  color: #333;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.header-points[data-v-26f47ce4]:hover {
  background-color: #e0e0e0;
}
.points-icon[data-v-26f47ce4] {
  font-size: 16px;
  display: flex;
}
.points-count[data-v-26f47ce4] {
  font-weight: 600;
  color: #666; /* A green color for points */
}
.refresh-points-btn[data-v-26f47ce4] {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s;
}
.refresh-points-btn[data-v-26f47ce4]:hover {
  background-color: #e0e0e0;
}

/* 用户信息对话框样式 */
.user-dialog-backdrop[data-v-26f47ce4] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1100;
}
.user-dialog[data-v-26f47ce4] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 800px;
  max-height: 90vh;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  z-index: 1200;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* 当邮件签名对话框打开时，隐藏父窗口 */
.user-dialog.hidden-by-signature[data-v-26f47ce4] {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.password-dialog[data-v-26f47ce4],
.avatar-dialog[data-v-26f47ce4],
.email-config-dialog[data-v-26f47ce4],
.server-config-dialog[data-v-26f47ce4] {
  max-width: 500px;
  width: auto;
}
.points-dialog[data-v-26f47ce4] {
  width: 90vw;
  max-height: 90vh;
}
.user-dialog-header[data-v-26f47ce4] {
  padding: 20px 24px;
  background-color: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.user-info-section[data-v-26f47ce4] {
  display: flex;
  align-items: center;
}
.user-avatar-large[data-v-26f47ce4] {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #e9ecef;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  position: relative;
  cursor: pointer;
}
.user-avatar-large:hover .avatar-edit-overlay[data-v-26f47ce4] {
  opacity: 1;
}
.avatar-edit-overlay[data-v-26f47ce4] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s;
  color: white;
}
.user-avatar-large img[data-v-26f47ce4] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.user-details[data-v-26f47ce4] {
  display: flex;
  flex-direction: column;
}
.user-name[data-v-26f47ce4] {
  margin: 0 0 5px 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.user-status[data-v-26f47ce4] {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
  font-size: 14px;
  color: #666;
}
.status-indicator[data-v-26f47ce4] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #4caf50;
  margin-right: 6px;
}
.user-email[data-v-26f47ce4] {
  font-size: 14px;
  color: #666;
}

/* 代理邮箱美化样式 */
.delegate-email-section[data-v-26f47ce4] {
  margin: 12px 0 0 0;
}
.delegate-email-label[data-v-26f47ce4] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #888;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
}
.delegate-email-label svg[data-v-26f47ce4] {
  opacity: 0.7;
}
.delegate-email-content[data-v-26f47ce4] {
  flex: 1;
  min-width: 0;
}
.email-value[data-v-26f47ce4] {
  font-size: 13px;
  color: #1976d2;
  background: rgba(25, 118, 210, 0.1);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
  border: 1px solid rgba(25, 118, 210, 0.2);
  display: inline-block;
}
.no-email-placeholder[data-v-26f47ce4] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #999;
  font-style: italic;
}
.no-email-placeholder svg[data-v-26f47ce4] {
  opacity: 0.6;
}
.user-points-section[data-v-26f47ce4] {
  display: flex;
  align-items: center;
  margin-top: 10px;
  gap: 10px;
}
.points-info[data-v-26f47ce4] {
  display: flex;
  align-items: baseline;
  font-size: 14px;
  color: #333;
}
.points-label[data-v-26f47ce4] {
  font-weight: 500;
  margin-right: 4px;
}
.points-value[data-v-26f47ce4] {
  font-weight: 600;
  color: #4caf50; /* A green color for points */
}
.btn-points-detail-small[data-v-26f47ce4] {
  padding: 2px 8px;
  border: 1px solid #4caf50;
  border-radius: 4px;
  background-color: #fff;
  color: #4caf50;
  font-size: 13px;
  cursor: pointer;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial,
    sans-serif;
  transition: all 0.2s ease;
}
.btn-points-detail-small[data-v-26f47ce4]:hover {
  background-color: #4caf50;
  color: white;
}
.close-dialog-btn[data-v-26f47ce4] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s;
}
.close-dialog-btn[data-v-26f47ce4]:hover {
  background-color: #e9ecef;
}
.user-dialog-content[data-v-26f47ce4] {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}
.user-dialog-footer[data-v-26f47ce4] {
  padding: 16px 24px;
  background-color: #f8f9fa;
  border-top: 1px solid #e9ecef;
}
.footer-buttons[data-v-26f47ce4] {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
}
.btn-logout[data-v-26f47ce4],
.btn-change-password[data-v-26f47ce4],
.btn-email-config[data-v-26f47ce4],
.btn-server-config[data-v-26f47ce4] {
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn-change-password[data-v-26f47ce4] {
  background-color: #fff;
  border: 1px solid #ccc;
  color: #333;
}
.btn-change-password[data-v-26f47ce4]:hover {
  background-color: #f5f5f5;
  border-color: #aaa;
}
.btn-email-config[data-v-26f47ce4] {
  background-color: #fff;
  border: 1px solid #ccc;
  color: #333;
}
.btn-email-config[data-v-26f47ce4]:hover {
  background-color: #f5f5f5;
  border-color: #aaa;
}
.btn-server-config[data-v-26f47ce4] {
  background-color: #fff;
  border: 1px solid #ccc;
  color: #333;
}
.btn-server-config[data-v-26f47ce4]:hover {
  background-color: #f5f5f5;
  border-color: #aaa;
}
.btn-logout[data-v-26f47ce4] {
  background-color: #1976d2;
  border: none;
  color: white;
}
.btn-logout[data-v-26f47ce4]:hover {
  background-color: #1565c0;
}
.btn-user-center[data-v-26f47ce4] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #fff;
  border: 1px solid #ccc;
  color: #333;
  text-decoration: none;
}
.btn-user-center[data-v-26f47ce4]:hover {
  background-color: #f5f5f5;
  border-color: #aaa;
}

/* 移除旧的菜单样式 */
.avatar-menu[data-v-26f47ce4] {
  display: none;
}

/* 成功消息提示框样式 */
.success-message[data-v-26f47ce4] {
  position: fixed;
  top: 20px;
  right: 20px;
  background-color: #4caf50;
  color: white;
  padding: 10px 20px;
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1300;
}

/* 语言切换按钮样式 */
.language-switcher[data-v-26f47ce4] {
  position: relative;
  display: inline-block;
}
.btn-language-icon[data-v-26f47ce4] {
  padding: 8px;
  border: none;
  background: transparent;
  color: #000000;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.3s ease;
  border-radius: 4px;
  transform: scale(1);
}
.language-icon[data-v-26f47ce4] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.dropdown-arrow[data-v-26f47ce4] {
  transition: transform 0.3s ease;
}
.btn-language-icon[data-v-26f47ce4]:hover {
  transform: scale(1.1);
}
.btn-language-icon[data-v-26f47ce4]:active {
  transform: scale(0.95);
}
.current-language[data-v-26f47ce4] {
  font-weight: 500;
}
.language-switcher.active .dropdown-arrow[data-v-26f47ce4] {
  transform: rotate(180deg);
}
.language-switcher.active .btn-language-icon:hover .dropdown-arrow[data-v-26f47ce4] {
  transform: rotate(180deg) scale(1.1);
}
.language-dropdown[data-v-26f47ce4] {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 120px;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 1001;
  padding: 8px 0;
  margin-top: 4px;
  border: 1px solid #e0e0e0;
}
.language-option[data-v-26f47ce4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  color: #333;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.language-option[data-v-26f47ce4]:hover {
  background-color: #f5f5f5;
}
.language-option.active[data-v-26f47ce4] {
  background-color: #e3f2fd;
  color: #1976d2;
  font-weight: 500;
}
.language-name[data-v-26f47ce4] {
  flex: 1;
}
.check-icon[data-v-26f47ce4] {
  color: #1976d2;
  font-weight: bold;
  margin-left: 8px;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/toolbar/ScheduleQueryDialog.vue?vue&type=style&index=0&id=786a8c05&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.movable-dialog[data-v-786a8c05] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  border: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: fixed;
  z-index: 9998;
  /* 确保对话框可见 */
  visibility: visible;
  opacity: 1;
}
.movable-dialog.dragging[data-v-786a8c05] {
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transform: scale(1.02);
  transition: transform 0.1s ease;
}
.dialog-header[data-v-786a8c05] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: move;
  flex-shrink: 0;
  transition: background-color 0.2s ease;
  height: 35px;
  /* 确保按钮垂直居中 */
  box-sizing: border-box;
}
.dialog-title[data-v-786a8c05] {
  display: flex;
  align-items: center;
  height: 100%;
}
.dialog-title h3[data-v-786a8c05] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  /* 确保标题在较小header中正确显示 */
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dialog-controls[data-v-786a8c05] {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
}
.control-btn[data-v-786a8c05] {
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: all 0.2s ease;
  pointer-events: auto;
  z-index: 1;
  /* 确保按钮在较小header中正确显示 */
  flex-shrink: 0;
}
.control-btn[data-v-786a8c05]:hover {
  background: #e0e0e0;
  color: #333;
}
.close-btn[data-v-786a8c05]:hover {
  background: #ff4757;
  color: white;
}
.dialog-content[data-v-786a8c05] {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  background: white;
}



/* 动画效果 */
.dialog-fade-enter-active[data-v-786a8c05],
.dialog-fade-leave-active[data-v-786a8c05] {
  transition: all 0.3s ease;
}
.dialog-fade-enter-from[data-v-786a8c05] {
  opacity: 0;
  transform: scale(0.9);
}
.dialog-fade-leave-to[data-v-786a8c05] {
  opacity: 0;
  transform: scale(0.9);
}

/* 响应式设计 */
@media (max-width: 768px) {
.movable-dialog[data-v-786a8c05] {
    width: 90vw !important;
    max-width: 500px;
    max-height: 80vh;
}
}

/* 对话框表单样式 */
.dialog-form[data-v-786a8c05] {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.form-row[data-v-786a8c05] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}
.form-group[data-v-786a8c05] {
  flex: 1;
  margin-bottom: 12px;
}
.form-label[data-v-786a8c05] {
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
  color: #333;
  font-size: 13px;
}
.form-input[data-v-786a8c05] {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
  height: 32px;
}
.form-input[data-v-786a8c05]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.1);
}
.form-actions[data-v-786a8c05] {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #eee;
  flex-shrink: 0;
}
.btn[data-v-786a8c05] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 80px;
}
.btn-primary[data-v-786a8c05] {
  background-color: #007bff;
  color: white;
}
.btn-primary[data-v-786a8c05]:hover:not(:disabled) {
  background-color: #0056b3;
}
.btn-primary[data-v-786a8c05]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

/* 查询按钮固定宽度 */
.query-btn[data-v-786a8c05] {
  width: 100px;
  min-width: 100px;
  text-align: center;
}
.btn-secondary[data-v-786a8c05] {
  background-color: #6c757d;
  color: white;
}
.btn-secondary[data-v-786a8c05]:hover {
  background-color: #545b62;
}

/* 输入区域和结果显示区域样式 */
.input-section[data-v-786a8c05] {
  border-bottom: 1px solid #eee;
  padding-bottom: 12px;
  margin-bottom: 12px;
  flex-shrink: 0;
}
.results-section[data-v-786a8c05] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 16px;
}
.results-header[data-v-786a8c05] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
}
.results-actions[data-v-786a8c05] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.btn-send-chat[data-v-786a8c05] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
  min-width: 100px;
  justify-content: center;
}
.btn-send-chat[data-v-786a8c05]:hover {
  background: #0056b3;
  transform: translateY(-1px);
}
.btn-send-chat[data-v-786a8c05]:active {
  transform: translateY(0);
}
.btn-send-chat[data-v-786a8c05]:disabled {
  background: #6c757d;
  color: #fff;
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}
.btn-send-chat[data-v-786a8c05]:disabled:hover {
  background: #6c757d;
  transform: none;
}
.results-header h4[data-v-786a8c05] {
  margin: 0;
  font-size: 14px;
  color: #333;
  font-weight: 600;
}
.results-content[data-v-786a8c05] {
  flex: 1;
  overflow-y: auto;
  min-height: 200px;
}

/* 加载状态 */
.loading-state[data-v-786a8c05] {
  text-align: center;
  padding: 20px;
  color: #666;
}
.loading-spinner[data-v-786a8c05] {
  width: 24px;
  height: 24px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #007bff;
  border-radius: 50%;
  animation: spin-786a8c05 1s linear infinite;
  margin: 0 auto 12px;
}
@keyframes spin-786a8c05 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 错误状态 */
.error-state[data-v-786a8c05] {
  text-align: center;
  padding: 20px;
  color: #dc3545;
}
.error-icon[data-v-786a8c05] {
  font-size: 24px;
  margin-bottom: 8px;
}

/* 空状态 */
.empty-state[data-v-786a8c05] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px dashed #dee2e6;
  margin: 20px 0;
}
.empty-icon[data-v-786a8c05] {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.6;
}
.empty-state p[data-v-786a8c05] {
  font-size: 16px;
  margin: 0;
  line-height: 1.5;
}

/* 结果内容 */
.result-content[data-v-786a8c05] {
  padding: 12px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e9ecef;
}
.result-item h4[data-v-786a8c05] {
  margin: 0 0 12px 0;
  color: #333;
  font-size: 16px;
}

/* 结构化结果显示样式 */
.result-header[data-v-786a8c05] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
}
.result-header h4[data-v-786a8c05] {
  margin: 0;
  font-size: 16px;
  color: #333;
}
.status-badge[data-v-786a8c05] {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}
.status-in-transit[data-v-786a8c05] {
  background: #e3f2fd;
  color: #1976d2;
}
.result-count[data-v-786a8c05] {
  font-size: 12px;
  color: #666;
  background: #f0f0f0;
  padding: 2px 8px;
  border-radius: 10px;
}
.result-grid[data-v-786a8c05] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.result-field[data-v-786a8c05] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.result-field label[data-v-786a8c05] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
}
.result-field span[data-v-786a8c05] {
  font-size: 14px;
  color: #333;
}
.result-timeline[data-v-786a8c05] {
  margin-top: 16px;
}
.result-timeline h5[data-v-786a8c05] {
  margin: 0 0 12px 0;
  font-size: 14px;
  color: #333;
  font-weight: 600;
}
.timeline-item[data-v-786a8c05] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  border-left: 2px solid #eee;
  padding-left: 12px;
  margin-left: 8px;
  position: relative;
}
.timeline-item[data-v-786a8c05]::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 12px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ddd;
}
.timeline-item.completed[data-v-786a8c05]::before {
  background: #28a745;
}
.timeline-item.current[data-v-786a8c05]::before {
  background: #007bff;
  animation: pulse-786a8c05 2s infinite;
}
.timeline-item.pending[data-v-786a8c05]::before {
  background: #ffc107;
}
.timeline-time[data-v-786a8c05] {
  font-size: 12px;
  color: #666;
  min-width: 120px;
}
.timeline-event[data-v-786a8c05] {
  font-size: 14px;
  color: #333;
}
@keyframes pulse-786a8c05 {
0% { opacity: 1;
}
50% { opacity: 0.5;
}
100% { opacity: 1;
}
}

/* 航期查询结果样式 */
.schedule-list[data-v-786a8c05] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.schedule-item[data-v-786a8c05] {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 16px;
  background: white;
}
.schedule-header[data-v-786a8c05] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.vessel-name[data-v-786a8c05] {
  font-weight: 600;
  font-size: 16px;
  color: #333;
}
.schedule-status[data-v-786a8c05] {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}
.schedule-status.available[data-v-786a8c05] {
  background: #e8f5e8;
  color: #2e7d32;
}
.schedule-details[data-v-786a8c05] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.schedule-route[data-v-786a8c05] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}
.port[data-v-786a8c05] {
  font-weight: 500;
  color: #333;
}
.arrow[data-v-786a8c05] {
  color: #666;
  font-size: 12px;
}
.schedule-time[data-v-786a8c05] {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.time-info[data-v-786a8c05] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.time-info label[data-v-786a8c05] {
  font-size: 12px;
  color: #666;
}
.time-info span[data-v-786a8c05] {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}
.schedule-info[data-v-786a8c05] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.info-item[data-v-786a8c05] {
  font-size: 12px;
  color: #666;
  background: #f5f5f5;
  padding: 2px 6px;
  border-radius: 4px;
}

/* 航期表格样式 */
.schedule-table-container[data-v-786a8c05] {
  margin: 16px 0;
}
.table-header[data-v-786a8c05] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.table-header h4[data-v-786a8c05] {
  margin: 0;
  font-size: 16px;
  color: #333;
  font-weight: 600;
}
.pagination-info[data-v-786a8c05] {
  font-size: 12px;
  color: #666;
  background: #f0f0f0;
  padding: 4px 8px;
  border-radius: 4px;
}
.table-wrapper[data-v-786a8c05] {
  overflow-x: auto;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: white;
}
.schedule-table[data-v-786a8c05] {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  min-width: 600px;
}
.schedule-table th[data-v-786a8c05] {
  background: #f8f9fa;
  color: #333;
  font-weight: 600;
  padding: 12px 8px;
  text-align: left;
  border-bottom: 2px solid #e0e0e0;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 1;
}
.schedule-table td[data-v-786a8c05] {
  padding: 10px 8px;
  border-bottom: 1px solid #f0f0f0;
  color: #555;
  vertical-align: top;
  max-width: 200px;
  word-wrap: break-word;
}
.schedule-table tr[data-v-786a8c05]:hover {
  background: #f8f9fa;
}
.schedule-table tr:last-child td[data-v-786a8c05] {
  border-bottom: none;
}

/* 响应式表格 */
@media (max-width: 768px) {
.schedule-table[data-v-786a8c05] {
    font-size: 12px;
}
.schedule-table th[data-v-786a8c05],
  .schedule-table td[data-v-786a8c05] {
    padding: 8px 6px;
}
}

/* 分页控件样式 */
.pagination[data-v-786a8c05] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  margin-top: 16px;
  padding: 12px 0;
}
.page-btn[data-v-786a8c05] {
  padding: 6px 12px;
  border: 1px solid #ddd;
  background: white;
  color: #333;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  transition: all 0.2s ease;
}
.page-btn[data-v-786a8c05]:hover {
  background: #f0f0f0;
  border-color: #007bff;
}
.page-btn.active[data-v-786a8c05] {
  background: #007bff;
  color: white;
  border-color: #007bff;
}
.page-btn[data-v-786a8c05]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.page-ellipsis[data-v-786a8c05] {
  padding: 6px 8px;
  color: #666;
  font-size: 12px;
}

/* 详情按钮样式 */
.btn-detail[data-v-786a8c05] {
  padding: 4px 8px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
  transition: background 0.2s ease;
}
.btn-detail[data-v-786a8c05]:hover {
  background: #0056b3;
}
.result-item p[data-v-786a8c05] {
  margin: 8px 0;
  color: #555;
  line-height: 1.5;
}
.result-item strong[data-v-786a8c05] {
  color: #333;
  font-weight: 600;
}

/* 紧凑布局样式 */
.input-section.compact[data-v-786a8c05] {
  padding: 12px 16px;
  margin-bottom: 8px;
}
.input-section.compact .form-row[data-v-786a8c05] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.input-section.compact .form-row[data-v-786a8c05]:last-child {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 0;
}
.input-section.compact .form-row:last-child .form-group[data-v-786a8c05] {
  flex: 0 0 auto;
  min-width: 180px;
}
.input-section.compact .form-group[data-v-786a8c05] {
  margin-bottom: 0;
}
.input-section.compact .form-label[data-v-786a8c05] {
  font-size: 12px;
  margin-bottom: 4px;
}
.input-section.compact .form-input[data-v-786a8c05] {
  padding: 6px 8px;
  font-size: 13px;
}
.input-section.compact .form-actions[data-v-786a8c05] {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: flex-end;
}

/* 航期查询结果样式 */
.schedule-results[data-v-786a8c05] {
  max-height: none;
  overflow-y: visible;
}
.schedule-item[data-v-786a8c05] {
  margin-bottom: 20px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
}
.schedule-header[data-v-786a8c05] {
  background: #f8f9fa;
  padding: 12px 16px;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.schedule-header h5[data-v-786a8c05] {
  margin: 0;
  color: #333;
  font-size: 16px;
}
.schedule-info[data-v-786a8c05] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.voyage-id[data-v-786a8c05] {
  font-size: 12px;
  color: #666;
  background: #e9ecef;
  padding: 2px 8px;
  border-radius: 4px;
}
.status[data-v-786a8c05] {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.status.planned[data-v-786a8c05] {
  background: #e3f2fd;
  color: #1976d2;
}
.status.confirmed[data-v-786a8c05] {
  background: #e8f5e8;
  color: #2e7d32;
}
.status.cancelled[data-v-786a8c05] {
  background: #ffebee;
  color: #c62828;
}
.schedule-details[data-v-786a8c05] {
  padding: 16px;
  background: white;
}
.route-info[data-v-786a8c05] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}
.route-point[data-v-786a8c05] {
  font-size: 14px;
  color: #555;
}
.route-point strong[data-v-786a8c05] {
  color: #333;
  margin-right: 8px;
}
.schedule-table-container[data-v-786a8c05] {
  overflow-x: auto;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
}
.schedule-table[data-v-786a8c05] {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.schedule-table th[data-v-786a8c05] {
  background: #f8f9fa;
  color: #333;
  font-weight: 600;
  padding: 12px 8px;
  text-align: left;
  border-bottom: 2px solid #e0e0e0;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 1;
}
.schedule-table td[data-v-786a8c05] {
  padding: 10px 8px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
}
.schedule-table tr[data-v-786a8c05]:hover {
  background: #f8f9fa;
}
.schedule-table tr.skipped[data-v-786a8c05] {
  background: #fff5f5;
  color: #999;
}
.schedule-table tr.skipped td[data-v-786a8c05] {
  text-decoration: line-through;
}
.port-info[data-v-786a8c05] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.port-name[data-v-786a8c05] {
  font-weight: 500;
  color: #333;
}
.port-code[data-v-786a8c05] {
  font-size: 11px;
  color: #666;
  background: #f0f0f0;
  padding: 1px 4px;
  border-radius: 2px;
  display: inline-block;
}
.status-skipped[data-v-786a8c05] {
  color: #dc3545;
  font-size: 11px;
  background: #f8d7da;
  padding: 2px 6px;
  border-radius: 3px;
}
.status-confirmed[data-v-786a8c05] {
  color: #28a745;
  font-size: 11px;
  background: #d4edda;
  padding: 2px 6px;
  border-radius: 3px;
}
.status-pending[data-v-786a8c05] {
  color: #ffc107;
  font-size: 11px;
  background: #fff3cd;
  padding: 2px 6px;
  border-radius: 3px;
}
.pagination-section[data-v-786a8c05] {
  margin-top: 16px;
  border-top: 1px solid #e0e0e0;
  padding-top: 16px;
}
.pagination-info[data-v-786a8c05] {
  margin-bottom: 12px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 4px;
  text-align: center;
  font-size: 14px;
  color: #666;
}
.pagination-controls[data-v-786a8c05] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.page-numbers[data-v-786a8c05] {
  display: flex;
  gap: 4px;
  align-items: center;
}
.page-btn[data-v-786a8c05] {
  padding: 6px 12px;
  border: 1px solid #ddd;
  background: white;
  color: #333;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s ease;
  min-width: 36px;
  text-align: center;
}
.page-btn[data-v-786a8c05]:hover:not(:disabled) {
  background: #f8f9fa;
  border-color: #007bff;
  color: #007bff;
}
.page-btn.active[data-v-786a8c05] {
  background: #007bff;
  border-color: #007bff;
  color: white;
}
.page-btn[data-v-786a8c05]:disabled {
  background: #f8f9fa;
  color: #ccc;
  cursor: not-allowed;
  border-color: #e9ecef;
}
.page-btn[data-v-786a8c05]:disabled:hover {
  background: #f8f9fa;
  border-color: #e9ecef;
  color: #ccc;
}

/* 只读模式样式 */
.form-input[readonly][data-v-786a8c05] {
  background-color: #f8f9fa;
  color: #6c757d;
  cursor: not-allowed;
  border-color: #e9ecef;
}
.form-input[readonly][data-v-786a8c05]:focus {
  border-color: #e9ecef;
  box-shadow: none;
}

/* 只读模式提示样式 */
.readonly-notice[data-v-786a8c05] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
  border: 1px solid #ffc107;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(255, 193, 7, 0.1);
}
.readonly-icon[data-v-786a8c05] {
  font-size: 20px;
  flex-shrink: 0;
}
.readonly-text[data-v-786a8c05] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.readonly-text strong[data-v-786a8c05] {
  color: #856404;
  font-size: 14px;
  font-weight: 600;
}
.readonly-text span[data-v-786a8c05] {
  color: #6c5b00;
  font-size: 12px;
  line-height: 1.4;
}

/* 只读徽章样式 */
.readonly-badge[data-v-786a8c05] {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #ffc107;
  color: #856404;
  font-size: 11px;
  font-weight: 500;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* 自动解析按钮样式 */
.auto-parse-btn[data-v-786a8c05] {
  background: #28a745;
  color: white;
}
.auto-parse-btn[data-v-786a8c05]:hover:not(:disabled) {
  background: #218838;
  color: white;
}
.auto-parse-btn[data-v-786a8c05]:disabled {
  background: #6c757d;
  color: #fff;
  cursor: not-allowed;
}

/* 解析按钮动画优化 */
.auto-parse-btn[data-v-786a8c05] {
  position: relative;
  min-width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.auto-parse-btn.parsing[data-v-786a8c05] {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  animation: shadowRotate-786a8c05 1s linear infinite;
}
.parse-icon[data-v-786a8c05] {
  transition: opacity 0.3s ease;
}
.auto-parse-btn.parsing .parse-icon[data-v-786a8c05] {
  opacity: 0;
}
.auto-parse-spinner[data-v-786a8c05] {
  width: 16px;
  height: 16px;
  border: 2px solid #ddd;
  border-top: 2px solid #666;
  border-radius: 50%;
  animation: spin-786a8c05 1s linear infinite;
}


/* 动画关键帧 */
@keyframes spin-786a8c05 {
0% { 
    transform: rotate(0deg);
}
100% { 
    transform: rotate(360deg);
}
}
@keyframes shadowRotate-786a8c05 {
0% { 
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
25% { 
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
50% { 
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
75% { 
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
100% { 
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
}

/* 港口选择器样式 */
.port-select-group[data-v-786a8c05] {
  position: relative;
}
.port-select-wrapper[data-v-786a8c05] {
  position: relative;
  width: 100%;
}
.port-dropdown[data-v-786a8c05] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  max-height: 240px;
  overflow-y: auto;
  z-index: 1000;
  margin-top: 2px;
}
.port-dropdown-item[data-v-786a8c05] {
  padding: 10px 12px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.port-dropdown-item[data-v-786a8c05]:hover {
  background-color: #f8f9fa;
}
.port-dropdown-item[data-v-786a8c05]:last-child {
  border-bottom: none;
}
.port-dropdown-item .port-name[data-v-786a8c05] {
  font-size: 14px;
  color: #333;
  font-weight: 500;
  flex: 1;
}
.port-dropdown-item .port-code[data-v-786a8c05] {
  font-size: 12px;
  color: #666;
  background: #f0f0f0;
  padding: 2px 8px;
  border-radius: 4px;
  margin-left: 8px;
}

/* 确保下拉框在输入框上方显示 */
.port-select-wrapper .form-input[data-v-786a8c05] {
  position: relative;
  z-index: 1;
}

/* 加载更多提示样式 */
.port-loading-more[data-v-786a8c05] {
  padding: 12px;
  text-align: center;
  color: #666;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.loading-spinner-small[data-v-786a8c05] {
  width: 14px;
  height: 14px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #007bff;
  border-radius: 50%;
  animation: spin-786a8c05 1s linear infinite;
}


/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/toolbar/NewsSearchDialog.vue?vue&type=style&index=0&id=3f965447&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 新闻检索对话框样式 */
.movable-dialog[data-v-3f965447] {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  border: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: fixed;
  z-index: 9998;
  visibility: visible;
  opacity: 1;
}
.movable-dialog.dragging[data-v-3f965447] {
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.dialog-header[data-v-3f965447] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: move;
  flex-shrink: 0;
  height: 40px;
  box-sizing: border-box;
}
.dialog-title[data-v-3f965447] {
  display: flex;
  align-items: center;
  height: 100%;
}
.dialog-title h3[data-v-3f965447] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dialog-controls[data-v-3f965447] {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
}
.control-btn[data-v-3f965447] {
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: background-color 0.2s ease;
  pointer-events: auto;
  z-index: 1;
  flex-shrink: 0;
}
.control-btn[data-v-3f965447]:hover {
  background: #e0e0e0;
  color: #333;
}
.close-btn[data-v-3f965447]:hover {
  background: #ff4757;
  color: white;
}
.dialog-content[data-v-3f965447] {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  background: #ffffff;
}
.dialog-fade-enter-active[data-v-3f965447],
.dialog-fade-leave-active[data-v-3f965447] {
  transition: all 0.3s ease;
}
.dialog-fade-enter-from[data-v-3f965447] {
  opacity: 0;
  transform: scale(0.9);
}
.dialog-fade-leave-to[data-v-3f965447] {
  opacity: 0;
  transform: scale(0.9);
}
.dialog-form[data-v-3f965447] {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 搜索模式导航栏样式 */
.search-mode-nav[data-v-3f965447] {
  border-bottom: 1px solid #e0e0e0;
  background: #f8f9fa;
  padding: 0;
  flex-shrink: 0;
}
.nav-tabs[data-v-3f965447] {
  display: flex;
  margin: 0;
  padding: 0;
}
.nav-tab[data-v-3f965447] {
  flex: 1;
  padding: 12px 20px;
  border: none;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #666;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.nav-tab[data-v-3f965447]:hover {
  background: #f0f0f0;
  color: #1976d2;
}
.nav-tab.active[data-v-3f965447] {
  color: #1976d2;
  border-bottom-color: #1976d2;
  background: white;
  font-weight: 600;
}
.dialog-content.company-mode .nav-tab.active[data-v-3f965447] {
  color: #4a90e2;
  border-bottom-color: #4a90e2;
}

/* 紧凑的搜索输入区域 */
.input-section-compact[data-v-3f965447] {
  padding: 12px 16px;
  border-bottom: 1px solid #e0e0e0;
  flex-shrink: 0;
  background: white;
}
.search-input-row[data-v-3f965447] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.form-input-compact[data-v-3f965447] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  transition: border-color 0.2s ease;
}
.form-input-compact[data-v-3f965447]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}
.query-btn-compact[data-v-3f965447] {
  padding: 8px 20px;
  min-width: 80px;
}
.form-row[data-v-3f965447] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  align-items: flex-end;
}
.form-group[data-v-3f965447] {
  margin-bottom: 12px;
}
.form-label[data-v-3f965447] {
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
  color: #333;
  font-size: 13px;
}
.form-input[data-v-3f965447] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
  height: 36px;
  background: #ffffff;
  color: #333;
}
.form-input[data-v-3f965447]:hover {
  border-color: #bbb;
}
.form-input[data-v-3f965447]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}
.form-actions[data-v-3f965447] {
  display: flex;
  gap: 8px;
  align-items: flex-end;
  margin-top: 8px;
}
.btn[data-v-3f965447] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
  min-width: 80px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.btn-primary[data-v-3f965447] {
  background-color: #1976d2;
  color: white;
}
.btn-primary[data-v-3f965447]:hover:not(:disabled) {
  background-color: #1565c0;
}
.btn-primary[data-v-3f965447]:disabled {
  background-color: #ccc;
  color: #999;
  cursor: not-allowed;
}
.btn-secondary[data-v-3f965447] {
  background-color: #6c757d;
  color: white;
  display: flex;
  align-items: center;
  gap: 4px;
}
.btn-secondary[data-v-3f965447]:hover:not(:disabled) {
  background-color: #5a6268;
}
.btn-secondary[data-v-3f965447]:disabled {
  background-color: #ccc;
  color: #999;
  cursor: not-allowed;
}
.btn-sm[data-v-3f965447] {
  padding: 4px 12px;
  font-size: 12px;
  min-width: 60px;
}
.query-btn[data-v-3f965447] {
  width: 100px;
  min-width: 100px;
  text-align: center;
}
.results-section[data-v-3f965447] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 16px;
  overflow: hidden;
}
.results-header[data-v-3f965447] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
}
.results-actions[data-v-3f965447] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.btn-send-chat[data-v-3f965447] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
  min-width: 100px;
  justify-content: center;
}
.btn-send-chat[data-v-3f965447]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.btn-send-chat[data-v-3f965447]:active {
  transform: translateY(0);
}
.btn-send-chat[data-v-3f965447]:disabled {
  background: #6c757d;
  color: #fff;
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}
.results-content[data-v-3f965447] {
  flex: 1;
  overflow-y: auto;
  min-height: 200px;
}
.loading-state[data-v-3f965447], .error-state[data-v-3f965447], .empty-state[data-v-3f965447] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
}
.empty-icon[data-v-3f965447] {
  font-size: 36px;
  margin-bottom: 12px;
  opacity: 0.5;
}
.loading-spinner[data-v-3f965447] {
  width: 24px;
  height: 24px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #1976d2;
  border-radius: 50%;
  animation: spin-3f965447 1s linear infinite;
  margin: 0 auto 12px;
}
@keyframes spin-3f965447 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.search-results[data-v-3f965447] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.search-item[data-v-3f965447] {
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 16px;
  background: white;
  transition: box-shadow 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.search-item[data-v-3f965447]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.search-item-header[data-v-3f965447] {
  margin-bottom: 12px;
}
.search-item-header h5[data-v-3f965447] {
  margin: 0 0 8px 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  line-height: 1.4;
}
.search-item-meta[data-v-3f965447] {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 12px;
  color: #666;
  flex-wrap: wrap;
}
.category[data-v-3f965447] {
  background: #e3f2fd;
  color: #1976d2;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.score[data-v-3f965447] {
  color: #666;
  font-size: 12px;
}
.publish-time[data-v-3f965447] {
  color: #888;
  font-size: 11px;
}
.source[data-v-3f965447] {
  color: #666;
  font-size: 11px;
}
.search-item-content[data-v-3f965447] {
  color: #555;
  line-height: 1.6;
}
.abstract[data-v-3f965447] {
  margin-bottom: 12px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-left: 3px solid #1976d2;
  border-radius: 4px;
  font-size: 13px;
  color: #555;
  line-height: 1.6;
}
.abstract strong[data-v-3f965447] {
  color: #333;
  font-weight: 600;
}
.content[data-v-3f965447] {
  margin-bottom: 12px;
  font-size: 13px;
  color: #555;
  line-height: 1.6;
}
.highlighted-content[data-v-3f965447] {
  margin-bottom: 12px;
}
.highlighted-content p[data-v-3f965447] {
  margin: 8px 0;
}
.metadata-tags[data-v-3f965447] {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.metadata-label[data-v-3f965447] {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  white-space: nowrap;
  line-height: 24px;
}
.metadata-tag[data-v-3f965447] {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
}
.category-tag[data-v-3f965447] {
  background: #e3f2fd;
  color: #1976d2;
}
.transport-tag[data-v-3f965447] {
  background: #e8f5e9;
  color: #2e7d32;
}
.keyword-tag[data-v-3f965447] {
  background: #fff3e0;
  color: #e65100;
}
.application-tag[data-v-3f965447] {
  background: #f3e5f5;
  color: #7b1fa2;
}

/* Markdown 内容样式 */
.markdown-content[data-v-3f965447] {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.markdown-content[data-v-3f965447] mark,
.highlighted-content[data-v-3f965447] mark,
.search-item-header[data-v-3f965447] mark {
  background-color: #ffeb3b;
  color: #333;
  padding: 0 2px;
  border-radius: 2px;
}
.markdown-content[data-v-3f965447] h1,
.markdown-content[data-v-3f965447] h2,
.markdown-content[data-v-3f965447] h3,
.markdown-content[data-v-3f965447] h4,
.markdown-content[data-v-3f965447] h5,
.markdown-content[data-v-3f965447] h6 {
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 600;
  line-height: 1.4;
}
.markdown-content[data-v-3f965447] p {
  margin: 0 0 8px 0;
  line-height: 1.6;
}
.markdown-content[data-v-3f965447] ul,
.markdown-content[data-v-3f965447] ol {
  margin: 8px 0;
  padding-left: 20px;
}
.markdown-content[data-v-3f965447] li {
  margin: 4px 0;
}
.markdown-content[data-v-3f965447] strong {
  font-weight: 600;
}
.markdown-content[data-v-3f965447] em {
  font-style: italic;
}
.markdown-content[data-v-3f965447] code {
  background-color: #f5f5f5;
  padding: 2px 4px;
  border-radius: 3px;
  font-family: 'Courier New', monospace;
  font-size: 0.9em;
}
.markdown-content[data-v-3f965447] pre {
  background-color: #f5f5f5;
  padding: 12px;
  border-radius: 4px;
  overflow-x: auto;
  margin: 8px 0;
}
.markdown-content[data-v-3f965447] pre code {
  background-color: transparent;
  padding: 0;
}
.markdown-content[data-v-3f965447] a {
  color: #007bff;
  text-decoration: none;
}
.markdown-content[data-v-3f965447] a:hover {
  text-decoration: underline;
}
.url-section[data-v-3f965447] {
  margin-top: 8px;
}
.url[data-v-3f965447] {
  color: #007bff;
  text-decoration: none;
  cursor: pointer;
  font-size: 13px;
}
.url[data-v-3f965447]:hover {
  text-decoration: underline;
}
.result-info[data-v-3f965447] {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
  text-align: center;
  color: #666;
  font-size: 14px;
}
.pagination[data-v-3f965447] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}
.page-info[data-v-3f965447] {
  font-size: 13px;
  color: #666;
}
.readonly-notice[data-v-3f965447] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
  border: 1px solid #ffc107;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(255, 193, 7, 0.1);
}
.readonly-badge[data-v-3f965447] {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #ffc107;
  color: #856404;
  font-size: 11px;
  font-weight: 500;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.form-input[readonly][data-v-3f965447] {
  background-color: #f8f9fa;
  color: #6c757d;
  cursor: not-allowed;
  border-color: #e9ecef;
}

/* 标签页样式 */
.tabs-header[data-v-3f965447] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
  flex-shrink: 0;
}
.tabs[data-v-3f965447] {
  display: flex;
  gap: 8px;
}
.tab-btn[data-v-3f965447] {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  border: none;
  background: transparent;
  color: #666;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s ease;
  position: relative;
}
.tab-btn[data-v-3f965447]:hover {
  background: #f5f5f5;
  color: #333;
}
.tab-btn.active[data-v-3f965447] {
  color: #1976d2;
  background: #e3f2fd;
}
.tab-badge[data-v-3f965447] {
  margin-left: 6px;
  padding: 2px 6px;
  background: rgba(25, 118, 210, 0.1);
  color: #1976d2;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
}
.tab-btn.active .tab-badge[data-v-3f965447] {
  background: rgba(255, 255, 255, 0.3);
  color: #1976d2;
}
.tab-content[data-v-3f965447] {
  flex: 1;
  overflow-y: auto;
  min-height: 200px;
}

/* 企业列表样式 */
.companies-tab[data-v-3f965447] {
  padding: 0;
}
.companies-list[data-v-3f965447] {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.company-card[data-v-3f965447] {
  border-bottom: 1px solid #e0e0e0;
  background: white;
  cursor: pointer;
  position: relative;
  transition: background-color 0.2s ease;
  padding: 12px 16px;
}
.company-card[data-v-3f965447]:hover {
  background: #f8f9fa;
}

/* 企业模式样式区别 */
.dialog-content.company-mode[data-v-3f965447] {
  background: linear-gradient(to bottom, #f0f7ff 0%, #ffffff 100px);
}
.dialog-content.company-mode .dialog-header[data-v-3f965447] {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
  color: white;
}
.dialog-content.company-mode .dialog-header h3[data-v-3f965447] {
  color: white;
}
.dialog-content.company-mode .company-search-card[data-v-3f965447] {
  border-left: 3px solid #4a90e2;
  background: #f8fbff;
}
.dialog-content.company-mode .company-search-card[data-v-3f965447]:hover {
  background: #e8f2ff;
}
.company-card-content[data-v-3f965447] {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.company-card-header[data-v-3f965447] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.company-logo[data-v-3f965447] {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background-color: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid #e9ecef;
}
.logo-placeholder[data-v-3f965447] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #adb5bd;
}
.company-info[data-v-3f965447] {
  flex: 1;
  min-width: 0;
}
.company-name[data-v-3f965447] {
  font-size: 16px;
  font-weight: 600;
  color: #212529;
  margin-bottom: 4px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-industry[data-v-3f965447] {
  font-size: 12px;
  color: #6c757d;
  font-weight: 500;
}
.company-classifications[data-v-3f965447] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.classification-item[data-v-3f965447] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
}
.classification-label[data-v-3f965447] {
  color: #6c757d;
  font-weight: 500;
  min-width: 32px;
}
.classification-value[data-v-3f965447] {
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 8px;
  font-size: 10px;
}
.type-value[data-v-3f965447] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.scale-value[data-v-3f965447] {
  background-color: #fff3e0;
  color: #f57c00;
}
.value-value[data-v-3f965447] {
  background-color: transparent;
  color: #c2185b;
  font-size: 12px;
  font-weight: 600;
}
.industry-value[data-v-3f965447] {
  background-color: #e8f5e8;
  color: #388e3c;
}
.company-tags[data-v-3f965447] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.company-tag[data-v-3f965447] {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
}
.industry-tag[data-v-3f965447] {
  background-color: #f5f5f5;
  color: #666;
  border: 1px solid #e0e0e0;
}
.company-location[data-v-3f965447] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6c757d;
}
.location-icon[data-v-3f965447] {
  color: #adb5bd;
}
.location-text[data-v-3f965447] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.similarity-score[data-v-3f965447] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  padding: 4px 8px;
  background: #f0f7ff;
  border-radius: 4px;
  margin-top: 4px;
}
.similarity-label[data-v-3f965447] {
  color: #666;
  font-weight: 500;
}
.similarity-value[data-v-3f965447] {
  color: #007bff;
  font-weight: 600;
}

/* 企业介绍样式 */
.company-description[data-v-3f965447] {
  margin-top: 8px;
  padding: 10px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  border-left: 3px solid #007bff;
}
.description-label[data-v-3f965447] {
  font-size: 12px;
  font-weight: 600;
  color: #495057;
  margin-bottom: 6px;
}
.description-content[data-v-3f965447] {
  font-size: 13px;
  color: #555;
  line-height: 1.6;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* 匹配度信息样式 */
.company-match-info[data-v-3f965447] {
  margin-top: 12px;
  padding: 12px;
  background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fd 100%);
  border-radius: 8px;
  border: 1px solid #cfe2ff;
}
.match-header[data-v-3f965447] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #cfe2ff;
}
.match-label[data-v-3f965447] {
  font-size: 13px;
  font-weight: 600;
  color: #0056b3;
}
.match-count[data-v-3f965447] {
  font-size: 12px;
  color: #007bff;
  font-weight: 500;
  background: white;
  padding: 2px 8px;
  border-radius: 12px;
}
.match-scores[data-v-3f965447] {
  display: flex;
  gap: 16px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.score-item[data-v-3f965447] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}
.score-label[data-v-3f965447] {
  color: #6c757d;
  font-weight: 500;
}
.score-value[data-v-3f965447] {
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
}
.weighted-score[data-v-3f965447] {
  background: #007bff;
  color: white;
  font-size: 13px;
}
.score-item .similarity-value[data-v-3f965447] {
  background: #28a745;
  color: white;
  font-size: 12px;
}
.matched-news-list[data-v-3f965447] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.matched-news-item[data-v-3f965447] {
  background: white;
  padding: 8px 10px;
  border-radius: 6px;
  border-left: 3px solid #007bff;
  font-size: 12px;
}
.news-title[data-v-3f965447] {
  font-weight: 500;
  color: #333;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news-scores[data-v-3f965447] {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 11px;
  color: #666;
}
.news-similarity[data-v-3f965447] {
  color: #28a745;
  font-weight: 500;
}
.news-weight[data-v-3f965447] {
  color: #ffc107;
  font-weight: 500;
}
.news-weighted[data-v-3f965447] {
  color: #007bff;
  font-weight: 600;
}
.more-news[data-v-3f965447] {
  text-align: center;
  font-size: 11px;
  color: #6c757d;
  font-style: italic;
  padding: 4px;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/toolbar/VesselPositionDialog.vue?vue&type=style&index=0&id=1ec74f2a&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.movable-dialog[data-v-1ec74f2a] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  border: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: fixed;
  z-index: 9998;
  visibility: visible;
  opacity: 1;
}
.movable-dialog.dragging[data-v-1ec74f2a] {
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transform: scale(1.02);
  transition: transform 0.1s ease;
}
.dialog-header[data-v-1ec74f2a] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: move;
  flex-shrink: 0;
  transition: background-color 0.2s ease;
  height: 35px;
  box-sizing: border-box;
}
.dialog-title[data-v-1ec74f2a] {
  display: flex;
  align-items: center;
  height: 100%;
}
.dialog-title h3[data-v-1ec74f2a] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dialog-controls[data-v-1ec74f2a] {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
}
.control-btn[data-v-1ec74f2a] {
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: all 0.2s ease;
  pointer-events: auto;
  z-index: 1;
  flex-shrink: 0;
}
.control-btn[data-v-1ec74f2a]:hover {
  background: #e0e0e0;
  color: #333;
}
.close-btn[data-v-1ec74f2a]:hover {
  background: #ff4757;
  color: white;
}
.dialog-content[data-v-1ec74f2a] {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  background: white;
}
.dialog-fade-enter-active[data-v-1ec74f2a],
.dialog-fade-leave-active[data-v-1ec74f2a] {
  transition: all 0.3s ease;
}
.dialog-fade-enter-from[data-v-1ec74f2a] {
  opacity: 0;
  transform: scale(0.9);
}
.dialog-fade-leave-to[data-v-1ec74f2a] {
  opacity: 0;
  transform: scale(0.9);
}
@media (max-width: 768px) {
.movable-dialog[data-v-1ec74f2a] {
    width: 90vw !important;
    max-width: 500px;
    max-height: 80vh;
}
}
.dialog-form[data-v-1ec74f2a] {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.form-row[data-v-1ec74f2a] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}
.form-group[data-v-1ec74f2a] {
  flex: 1;
  margin-bottom: 12px;
}
.form-label[data-v-1ec74f2a] {
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
  color: #333;
  font-size: 13px;
}
.required-hint[data-v-1ec74f2a] {
  color: #dc3545;
  font-size: 11px;
  font-weight: normal;
}
.optional-hint[data-v-1ec74f2a] {
  color: #6c757d;
  font-size: 11px;
  font-weight: normal;
}
.form-input[data-v-1ec74f2a] {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
  height: 32px;
}
.form-input[data-v-1ec74f2a]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.1);
}
.form-actions[data-v-1ec74f2a] {
  display: flex;
  gap: 8px;
  margin-left: auto;
  align-items: flex-end;
}
.btn[data-v-1ec74f2a] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 80px;
}
.btn-primary[data-v-1ec74f2a] {
  background-color: #007bff;
  color: white;
}
.btn-primary[data-v-1ec74f2a]:hover:not(:disabled) {
  background-color: #0056b3;
}
.btn-primary[data-v-1ec74f2a]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.query-btn[data-v-1ec74f2a] {
  width: 100px;
  min-width: 100px;
  text-align: center;
}
.input-section.compact[data-v-1ec74f2a] {
  padding: 12px 16px;
  margin-bottom: 8px;
}
.input-section.compact .form-row[data-v-1ec74f2a] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.input-section.compact .form-row[data-v-1ec74f2a]:last-child {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 0;
}
.input-section.compact .form-row:last-child .form-group[data-v-1ec74f2a] {
  flex: 0 0 auto;
  min-width: 180px;
}
.input-section.compact .form-group[data-v-1ec74f2a] {
  margin-bottom: 0;
}
.results-section[data-v-1ec74f2a] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 16px;
}
.results-header[data-v-1ec74f2a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
}
.results-actions[data-v-1ec74f2a] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.btn-send-chat[data-v-1ec74f2a] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
  min-width: 100px;
  justify-content: center;
}
.btn-send-chat[data-v-1ec74f2a]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.btn-send-chat[data-v-1ec74f2a]:active {
  transform: translateY(0);
}
.btn-send-chat[data-v-1ec74f2a]:disabled {
  background: #6c757d;
  color: #fff;
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}
.btn-send-chat[data-v-1ec74f2a]:disabled:hover {
  background: #6c757d;
  transform: none;
}
.results-header h4[data-v-1ec74f2a] {
  margin: 0;
  font-size: 14px;
  color: #333;
  font-weight: 600;
}
.results-content[data-v-1ec74f2a] {
  flex: 1;
  overflow-y: auto;
  min-height: 200px;
}
.loading-state[data-v-1ec74f2a] {
  text-align: center;
  padding: 20px;
  color: #666;
}
.loading-spinner[data-v-1ec74f2a] {
  width: 24px;
  height: 24px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #007bff;
  border-radius: 50%;
  animation: spin-1ec74f2a 1s linear infinite;
  margin: 0 auto 12px;
}
@keyframes spin-1ec74f2a {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-state[data-v-1ec74f2a] {
  text-align: center;
  padding: 20px;
  color: #dc3545;
}
.error-icon[data-v-1ec74f2a] {
  font-size: 24px;
  margin-bottom: 8px;
}
.empty-state[data-v-1ec74f2a] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px dashed #dee2e6;
  margin: 20px 0;
}
.empty-icon[data-v-1ec74f2a] {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.6;
}
.result-content[data-v-1ec74f2a] {
  padding: 12px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e9ecef;
}
.position-results[data-v-1ec74f2a] {
  max-height: none;
  overflow-y: visible;
}
.position-item[data-v-1ec74f2a] {
  margin-bottom: 20px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  background: white;
}
.position-header[data-v-1ec74f2a] {
  background: #f8f9fa;
  padding: 12px 16px;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.position-header h5[data-v-1ec74f2a] {
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 600;
}
.position-info[data-v-1ec74f2a] {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.vessel-id[data-v-1ec74f2a],
.imo-number[data-v-1ec74f2a],
.bucket-date[data-v-1ec74f2a] {
  font-size: 12px;
  color: #666;
  background: #e9ecef;
  padding: 2px 8px;
  border-radius: 4px;
}
.stats-section[data-v-1ec74f2a] {
  padding: 16px;
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
}
.stats-grid[data-v-1ec74f2a] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.stat-item[data-v-1ec74f2a] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.stat-item label[data-v-1ec74f2a] {
  font-size: 12px;
  color: #666;
}
.stat-item span[data-v-1ec74f2a] {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}
.position-table-container[data-v-1ec74f2a] {
  overflow-x: auto;
  border-radius: 4px;
}
.position-table[data-v-1ec74f2a] {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.position-table th[data-v-1ec74f2a] {
  background: #f8f9fa;
  color: #333;
  font-weight: 600;
  padding: 12px 8px;
  text-align: left;
  border-bottom: 2px solid #e0e0e0;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 1;
}
.position-table td[data-v-1ec74f2a] {
  padding: 10px 8px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
}
.position-table tr[data-v-1ec74f2a]:hover {
  background: #f8f9fa;
}
.nav-status[data-v-1ec74f2a] {
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 500;
}
.nav-status.anchor[data-v-1ec74f2a] {
  background: #e3f2fd;
  color: #1976d2;
}
.nav-status.moored[data-v-1ec74f2a] {
  background: #f3e5f5;
  color: #7b1fa2;
}
.nav-status.underway[data-v-1ec74f2a] {
  background: #e8f5e8;
  color: #2e7d32;
}
.nav-status.not-under-command[data-v-1ec74f2a] {
  background: #ffebee;
  color: #c62828;
}
.nav-status.restricted[data-v-1ec74f2a] {
  background: #fff3e0;
  color: #e65100;
}
.nav-status.constrained[data-v-1ec74f2a] {
  background: #fce4ec;
  color: #880e4f;
}
.no-positions[data-v-1ec74f2a] {
  padding: 20px;
  text-align: center;
  color: #666;
}
.pagination-section[data-v-1ec74f2a] {
  margin-top: 16px;
  border-top: 1px solid #e0e0e0;
  padding-top: 16px;
}
.pagination-info[data-v-1ec74f2a] {
  margin-bottom: 12px;
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 4px;
  text-align: center;
  font-size: 14px;
  color: #666;
}
.pagination-controls[data-v-1ec74f2a] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.page-numbers[data-v-1ec74f2a] {
  display: flex;
  gap: 4px;
  align-items: center;
}
.page-btn[data-v-1ec74f2a] {
  padding: 6px 12px;
  border: 1px solid #ddd;
  background: white;
  color: #333;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s ease;
  min-width: 36px;
  text-align: center;
}
.page-btn[data-v-1ec74f2a]:hover:not(:disabled) {
  background: #f8f9fa;
  border-color: #007bff;
  color: #007bff;
}
.page-btn.active[data-v-1ec74f2a] {
  background: #007bff;
  border-color: #007bff;
  color: white;
}
.page-btn[data-v-1ec74f2a]:disabled {
  background: #f8f9fa;
  color: #ccc;
  cursor: not-allowed;
  border-color: #e9ecef;
}
.readonly-notice[data-v-1ec74f2a] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
  border: 1px solid #ffc107;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(255, 193, 7, 0.1);
}
.readonly-icon[data-v-1ec74f2a] {
  font-size: 20px;
  flex-shrink: 0;
}
.readonly-text[data-v-1ec74f2a] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.readonly-text strong[data-v-1ec74f2a] {
  color: #856404;
  font-size: 14px;
  font-weight: 600;
}
.readonly-text span[data-v-1ec74f2a] {
  color: #6c5b00;
  font-size: 12px;
  line-height: 1.4;
}
.readonly-badge[data-v-1ec74f2a] {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #ffc107;
  color: #856404;
  font-size: 11px;
  font-weight: 500;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.form-input[readonly][data-v-1ec74f2a] {
  background-color: #f8f9fa;
  color: #6c757d;
  cursor: not-allowed;
  border-color: #e9ecef;
}
.form-input[readonly][data-v-1ec74f2a]:focus {
  border-color: #e9ecef;
  box-shadow: none;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/toolbar/AwbTrackingDialog.vue?vue&type=style&index=0&id=3f253052&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.movable-dialog[data-v-3f253052] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  border: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: fixed;
  z-index: 9998;
}
.movable-dialog.dragging[data-v-3f253052] {
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transform: scale(1.02);
  transition: transform 0.1s ease;
}
.dialog-header[data-v-3f253052] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: move;
  flex-shrink: 0;
  height: 35px;
  box-sizing: border-box;
}
.dialog-title[data-v-3f253052] {
  display: flex;
  align-items: center;
  height: 100%;
}
.dialog-title h3[data-v-3f253052] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  line-height: 1;
  white-space: nowrap;
}
.dialog-controls[data-v-3f253052] {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
}
.control-btn[data-v-3f253052] {
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: all 0.2s ease;
  pointer-events: auto;
  z-index: 1;
  flex-shrink: 0;
}
.control-btn[data-v-3f253052]:hover {
  background: #e0e0e0;
  color: #333;
}
.close-btn[data-v-3f253052]:hover {
  background: #ff4757;
  color: white;
}
.dialog-content[data-v-3f253052] {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  background: white;
}
.dialog-form[data-v-3f253052] {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.input-section[data-v-3f253052] {
  border-bottom: 1px solid #eee;
  padding-bottom: 12px;
  margin-bottom: 12px;
  flex-shrink: 0;
}
.form-row[data-v-3f253052] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  align-items: flex-end;
}
.form-group[data-v-3f253052] {
  flex: 1;
  margin-bottom: 12px;
}
.form-label[data-v-3f253052] {
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
  color: #333;
  font-size: 13px;
}
.form-input[data-v-3f253052] {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
  height: 32px;
}
.form-input[data-v-3f253052]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.1);
}
.form-actions[data-v-3f253052] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.btn[data-v-3f253052] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 80px;
}
.btn-primary[data-v-3f253052] {
  background-color: #007bff;
  color: white;
}
.btn-primary[data-v-3f253052]:hover:not(:disabled) {
  background-color: #0056b3;
}
.btn-primary[data-v-3f253052]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.query-btn[data-v-3f253052] {
  width: 100px;
  min-width: 100px;
  text-align: center;
}
.results-section[data-v-3f253052] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 16px;
}
.results-header[data-v-3f253052] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
}
.results-header h4[data-v-3f253052] {
  margin: 0;
  font-size: 14px;
  color: #333;
  font-weight: 600;
}
.results-actions[data-v-3f253052] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.btn-send-chat[data-v-3f253052] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
  min-width: 100px;
  justify-content: center;
}
.btn-send-chat[data-v-3f253052]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.btn-send-chat[data-v-3f253052]:active {
  transform: translateY(0);
}
.btn-send-chat[data-v-3f253052]:disabled {
  background: #6c757d;
  color: #fff;
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}
.btn-send-chat[data-v-3f253052]:disabled:hover {
  background: #6c757d;
  transform: none;
}
.results-content[data-v-3f253052] {
  flex: 1;
  overflow-y: auto;
  min-height: 200px;
}
.loading-state[data-v-3f253052] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
}
.loading-spinner[data-v-3f253052] {
  width: 32px;
  height: 32px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #007bff;
  border-radius: 50%;
  animation: spin-3f253052 1s linear infinite;
  margin: 0 auto 12px;
}
@keyframes spin-3f253052 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-state[data-v-3f253052] {
  text-align: center;
  padding: 40px 20px;
  color: #dc3545;
}
.error-icon[data-v-3f253052] {
  font-size: 32px;
  margin-bottom: 12px;
}
.empty-state[data-v-3f253052] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px dashed #dee2e6;
}
.empty-icon[data-v-3f253052] {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.6;
}
.result-content[data-v-3f253052] {
  padding: 16px;
  background: #f8f9fa;
  border-radius: 4px;
}
.info-section[data-v-3f253052] {
  background: white;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
  border: 1px solid #e9ecef;
}
.section-title[data-v-3f253052] {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  padding-bottom: 8px;
  border-bottom: 2px solid #007bff;
}
.info-grid[data-v-3f253052] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}
.info-item[data-v-3f253052] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.info-label[data-v-3f253052] {
  font-size: 13px;
  color: #666;
  font-weight: 500;
}
.info-value[data-v-3f253052] {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}
.status-badge[data-v-3f253052] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
}
.status-code[data-v-3f253052] {
  background: rgba(0, 0, 0, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
}
.status-desc[data-v-3f253052] {
  font-weight: 500;
}
.status-delivered[data-v-3f253052] {
  background: #d4edda;
  color: #155724;
}
.status-in-transit[data-v-3f253052] {
  background: #d1ecf1;
  color: #0c5460;
}
.status-pending[data-v-3f253052] {
  background: #fff3cd;
  color: #856404;
}
.status-default[data-v-3f253052] {
  background: #e2e3e5;
  color: #383d41;
}
.segments-container[data-v-3f253052] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.segment-item[data-v-3f253052] {
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 12px;
  background: #f8f9fa;
}
.segment-header[data-v-3f253052] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.segment-number[data-v-3f253052] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
}
.flight-number[data-v-3f253052] {
  background: #007bff;
  color: white;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.segment-route[data-v-3f253052] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.port[data-v-3f253052] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
}
.arrow[data-v-3f253052] {
  color: #666;
  font-size: 16px;
}
.segment-times[data-v-3f253052] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  font-size: 12px;
}
.time-item[data-v-3f253052] {
  display: flex;
  gap: 4px;
}
.time-label[data-v-3f253052] {
  color: #666;
}
.time-value[data-v-3f253052] {
  color: #333;
  font-weight: 500;
}
.events-timeline[data-v-3f253052] {
  position: relative;
  padding-left: 24px;
}
.events-timeline[data-v-3f253052]::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #e9ecef;
}
.timeline-item[data-v-3f253052] {
  position: relative;
  margin-bottom: 16px;
}
.timeline-marker[data-v-3f253052] {
  position: absolute;
  left: -20px;
  top: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #007bff;
  border: 2px solid white;
  box-shadow: 0 0 0 2px #007bff;
}
.timeline-content[data-v-3f253052] {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 12px;
}
.event-header[data-v-3f253052] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.event-time[data-v-3f253052] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
}
.event-location[data-v-3f253052] {
  background: #f0f0f0;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  color: #333;
}
.event-status[data-v-3f253052] {
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.event-details[data-v-3f253052] {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #666;
}
.event-detail[data-v-3f253052] {
  display: inline-block;
}
.others-info[data-v-3f253052] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.readonly-notice[data-v-3f253052] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
  border: 1px solid #ffc107;
  border-radius: 8px;
}
.readonly-badge[data-v-3f253052] {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #ffc107;
  color: #856404;
  font-size: 11px;
  font-weight: 500;
  border-radius: 12px;
}
.dialog-fade-enter-active[data-v-3f253052],
.dialog-fade-leave-active[data-v-3f253052] {
  transition: all 0.3s ease;
}
.dialog-fade-enter-from[data-v-3f253052] {
  opacity: 0;
  transform: scale(0.9);
}
.dialog-fade-leave-to[data-v-3f253052] {
  opacity: 0;
  transform: scale(0.9);
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/toolbar/HscodePredictionDialog.vue?vue&type=style&index=0&id=307b8e13&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.movable-dialog[data-v-307b8e13] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  border: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: fixed;
  z-index: 9998;
}
.movable-dialog.dragging[data-v-307b8e13] {
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transform: scale(1.02);
  transition: transform 0.1s ease;
}
.dialog-header[data-v-307b8e13] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: move;
  flex-shrink: 0;
  height: 35px;
  box-sizing: border-box;
}
.dialog-title[data-v-307b8e13] {
  display: flex;
  align-items: center;
  height: 100%;
}
.dialog-title h3[data-v-307b8e13] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  line-height: 1;
  white-space: nowrap;
}
.dialog-controls[data-v-307b8e13] {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
}
.control-btn[data-v-307b8e13] {
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: all 0.2s ease;
  pointer-events: auto;
  z-index: 1;
  flex-shrink: 0;
}
.control-btn[data-v-307b8e13]:hover {
  background: #e0e0e0;
  color: #333;
}
.close-btn[data-v-307b8e13]:hover {
  background: #ff4757;
  color: white;
}
.dialog-content[data-v-307b8e13] {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  background: white;
}
.dialog-form[data-v-307b8e13] {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.input-section[data-v-307b8e13] {
  border-bottom: 1px solid #eee;
  padding-bottom: 12px;
  margin-bottom: 12px;
  flex-shrink: 0;
}
.input-section.compact[data-v-307b8e13] {
  padding: 12px 16px;
  margin-bottom: 8px;
}
.form-row[data-v-307b8e13] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  align-items: flex-end;
}
.input-section.compact .form-row[data-v-307b8e13] {
  margin-bottom: 0;
}
.form-group[data-v-307b8e13] {
  flex: 1;
  margin-bottom: 12px;
}
.input-section.compact .form-group[data-v-307b8e13] {
  margin-bottom: 0;
}
.form-label[data-v-307b8e13] {
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
  color: #333;
  font-size: 13px;
}
.input-section.compact .form-label[data-v-307b8e13] {
  font-size: 12px;
  margin-bottom: 4px;
}
.form-input[data-v-307b8e13] {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
  height: 32px;
}
.input-section.compact .form-input[data-v-307b8e13] {
  padding: 6px 8px;
  font-size: 13px;
}
.form-input[data-v-307b8e13]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.1);
}
.form-actions[data-v-307b8e13] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.input-section.compact .form-actions[data-v-307b8e13] {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: flex-end;
}
.btn[data-v-307b8e13] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 80px;
}
.btn-primary[data-v-307b8e13] {
  background-color: #007bff;
  color: white;
}
.btn-primary[data-v-307b8e13]:hover:not(:disabled) {
  background-color: #0056b3;
}
.btn-primary[data-v-307b8e13]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.query-btn[data-v-307b8e13] {
  width: 100px;
  min-width: 100px;
  text-align: center;
}
.results-section[data-v-307b8e13] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 16px;
}
.results-header[data-v-307b8e13] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
}
.results-header h4[data-v-307b8e13] {
  margin: 0;
  font-size: 14px;
  color: #333;
  font-weight: 600;
}
.results-actions[data-v-307b8e13] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.btn-send-chat[data-v-307b8e13] {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
  min-width: 100px;
  justify-content: center;
}
.btn-send-chat[data-v-307b8e13]:hover:not(:disabled) {
  background: #0056b3;
  transform: translateY(-1px);
}
.btn-send-chat[data-v-307b8e13]:active {
  transform: translateY(0);
}
.btn-send-chat[data-v-307b8e13]:disabled {
  background: #6c757d;
  color: #fff;
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}
.btn-send-chat[data-v-307b8e13]:disabled:hover {
  background: #6c757d;
  transform: none;
}
.results-content[data-v-307b8e13] {
  flex: 1;
  overflow-y: auto;
  min-height: 200px;
}
.loading-state[data-v-307b8e13] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
}
.loading-spinner[data-v-307b8e13] {
  width: 32px;
  height: 32px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #007bff;
  border-radius: 50%;
  animation: spin-307b8e13 1s linear infinite;
  margin: 0 auto 12px;
}
@keyframes spin-307b8e13 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-state[data-v-307b8e13] {
  text-align: center;
  padding: 40px 20px;
  color: #dc3545;
}
.error-icon[data-v-307b8e13] {
  font-size: 32px;
  margin-bottom: 12px;
}
.empty-state[data-v-307b8e13] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px dashed #dee2e6;
}
.empty-icon[data-v-307b8e13] {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.6;
}
.result-content[data-v-307b8e13] {
  padding: 16px;
  background: #f8f9fa;
  border-radius: 4px;
}
.readonly-notice[data-v-307b8e13] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
  border: 1px solid #ffc107;
  border-radius: 8px;
}
.readonly-badge[data-v-307b8e13] {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #ffc107;
  color: #856404;
  font-size: 11px;
  font-weight: 500;
  border-radius: 12px;
}
.dialog-fade-enter-active[data-v-307b8e13],
.dialog-fade-leave-active[data-v-307b8e13] {
  transition: all 0.3s ease;
}
.dialog-fade-enter-from[data-v-307b8e13] {
  opacity: 0;
  transform: scale(0.9);
}
.dialog-fade-leave-to[data-v-307b8e13] {
  opacity: 0;
  transform: scale(0.9);
}
.selected-text[data-v-307b8e13] {
  margin-bottom: 16px;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 4px;
  font-size: 13px;
}
.text-content[data-v-307b8e13] {
  color: #666;
  font-style: italic;
}
.results-list[data-v-307b8e13] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.result-item[data-v-307b8e13] {
  padding: 12px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: white;
}
.result-item.top-result[data-v-307b8e13] {
  border-color: #007bff;
  background: #f0f7ff;
}
.result-header[data-v-307b8e13] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.hs-code[data-v-307b8e13] {
  font-size: 18px;
  font-weight: 600;
  color: #007bff;
}
.probability[data-v-307b8e13] {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}
.restrictions[data-v-307b8e13] {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e0e0e0;
}
.restriction-label[data-v-307b8e13] {
  font-size: 12px;
  color: #666;
  margin-bottom: 4px;
}
.restriction-tags[data-v-307b8e13] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.restriction-tag[data-v-307b8e13] {
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
}
.restriction-danger[data-v-307b8e13] {
  background: #fee;
  color: #c33;
}
.restriction-warning[data-v-307b8e13] {
  background: #fff3cd;
  color: #856404;
}
.restriction-info[data-v-307b8e13] {
  background: #d1ecf1;
  color: #0c5460;
}
.restriction-default[data-v-307b8e13] {
  background: #e9ecef;
  color: #495057;
}
textarea.form-input[data-v-307b8e13] {
  resize: vertical;
  min-height: 60px;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/ContactEditor.vue?vue&type=style&index=0&id=4588597a&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 模态框淡入淡出动画 */
.modal-fade-enter-active[data-v-4588597a],
.modal-fade-leave-active[data-v-4588597a] {
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.modal-fade-enter-from[data-v-4588597a],
.modal-fade-leave-to[data-v-4588597a] {
  opacity: 0;
  transform: scale(0.95);
}
.modal-fade-enter-to[data-v-4588597a],
.modal-fade-leave-from[data-v-4588597a] {
  opacity: 1;
  transform: scale(1);
}

/* 模态框内容进入动画 */
.modal-fade-enter-active .modal-content[data-v-4588597a] {
  animation: slideInFromTop-4588597a 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.modal-fade-leave-active .modal-content[data-v-4588597a] {
  animation: slideOutToTop-4588597a 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
@keyframes slideInFromTop-4588597a {
0% {
    transform: translateY(-20px);
    opacity: 0;
}
100% {
    transform: translateY(0);
    opacity: 1;
}
}
@keyframes slideOutToTop-4588597a {
0% {
    transform: translateY(0);
    opacity: 1;
}
100% {
    transform: translateY(-20px);
    opacity: 0;
}
}
.modal[data-v-4588597a] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
}
.modal-overlay[data-v-4588597a] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modal-content[data-v-4588597a] {
  position: relative;
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}
.contact-editor[data-v-4588597a] {
  width: 600px;
  max-width: 90vw;
}
.editor-header[data-v-4588597a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #eee;
}
.editor-header h3[data-v-4588597a] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.close-btn[data-v-4588597a] {
  background: none;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
}
.close-btn[data-v-4588597a]:hover {
  background-color: #f5f5f5;
  color: #333;
}
.editor-content[data-v-4588597a] {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
}
.form-group[data-v-4588597a] {
  margin-bottom: 20px;
}
.form-group label[data-v-4588597a] {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
}
.required[data-v-4588597a] {
  color: #e53e3e;
}
.form-group input[data-v-4588597a],
.form-group select[data-v-4588597a],
.form-group textarea[data-v-4588597a] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}
.form-group input[data-v-4588597a]:focus,
.form-group select[data-v-4588597a]:focus,
.form-group textarea[data-v-4588597a]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.1);
}
.form-group input.error[data-v-4588597a] {
  border-color: #e53e3e;
}
.error-message[data-v-4588597a] {
  color: #e53e3e;
  font-size: 12px;
  margin-top: 4px;
}
.multi-input[data-v-4588597a] {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
  align-items: center;
}
.multi-input input[data-v-4588597a] {
  flex: 1;
}
.multi-input select[data-v-4588597a] {
  width: 100px;
  flex-shrink: 0;
}
.remove-btn[data-v-4588597a] {
  width: 32px;
  height: 32px;
  background-color: #f5f5f5;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.remove-btn[data-v-4588597a]:hover:not(:disabled) {
  background-color: #ffebee;
  color: #d32f2f;
}
.remove-btn[data-v-4588597a]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.add-field-btn[data-v-4588597a] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px;
  color: #1976d2;
  cursor: pointer;
  transition: all 0.2s ease;
}
.add-field-btn[data-v-4588597a]:hover {
  background-color: #e3f2fd;
  border-color: #1976d2;
}
.tag-input[data-v-4588597a] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #fff;
  min-height: 44px;
  align-items: center;
}
.tag-input[data-v-4588597a]:focus-within {
  border-color: #1976d2;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.1);
}
.tag[data-v-4588597a] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #e3f2fd;
  color: #1565c0;
  padding: 4px 8px;
  border-radius: 16px;
  font-size: 13px;
}
.tag-remove[data-v-4588597a] {
  cursor: pointer;
  font-weight: bold;
  color: #1976d2;
  transition: color 0.2s ease;
}
.tag-remove[data-v-4588597a]:hover {
  color: #d32f2f;
}
.tag-input-field[data-v-4588597a] {
  border: none;
  outline: none;
  flex: 1;
  min-width: 120px;
  font-size: 14px;
  padding: 4px 0;
  background: transparent;
}
.editor-footer[data-v-4588597a] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 24px 20px;
  border-top: 1px solid #eee;
}
.cancel-button[data-v-4588597a],
.save-button[data-v-4588597a] {
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}
.cancel-button[data-v-4588597a] {
  background-color: #f5f5f5;
  color: #666;
}
.cancel-button[data-v-4588597a]:hover:not(:disabled) {
  background-color: #e0e0e0;
  color: #333;
}
.save-button[data-v-4588597a] {
  background-color: #1976d2;
  color: white;
}
.save-button[data-v-4588597a]:hover:not(:disabled) {
  background-color: #1565c0;
}
.save-button[data-v-4588597a]:disabled,
.cancel-button[data-v-4588597a]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* 滚动条样式 */
.editor-content[data-v-4588597a]::-webkit-scrollbar {
  width: 6px;
}
.editor-content[data-v-4588597a]::-webkit-scrollbar-thumb {
  background-color: #d1d5da;
  border-radius: 3px;
}
.editor-content[data-v-4588597a]::-webkit-scrollbar-track {
  background-color: transparent;
}
.editor-content[data-v-4588597a]:hover::-webkit-scrollbar-thumb {
  background-color: #959da5;
}

/* 响应式设计 */
@media (max-width: 768px) {
.contact-editor[data-v-4588597a] {
    width: 95vw;
    height: 95vh;
}
.multi-input[data-v-4588597a] {
    flex-direction: column;
    align-items: stretch;
}
.multi-input select[data-v-4588597a] {
    width: 100%;
}
.remove-btn[data-v-4588597a] {
    align-self: flex-end;
}
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/toolbar/ContactParsingDialog.vue?vue&type=style&index=0&id=350607c8&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.movable-dialog[data-v-350607c8] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  border: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: fixed;
  z-index: 9998;
}
.movable-dialog.dragging[data-v-350607c8] {
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  transform: scale(1.02);
  transition: transform 0.1s ease;
}
.dialog-header[data-v-350607c8] {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: move;
  flex-shrink: 0;
  height: 35px;
  box-sizing: border-box;
}
.dialog-title[data-v-350607c8] {
  display: flex;
  align-items: center;
  height: 100%;
}
.dialog-title h3[data-v-350607c8] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  line-height: 1;
  white-space: nowrap;
}
.dialog-controls[data-v-350607c8] {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
}
.control-btn[data-v-350607c8] {
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: all 0.2s ease;
  pointer-events: auto;
  z-index: 1;
  flex-shrink: 0;
}
.control-btn[data-v-350607c8]:hover {
  background: #e0e0e0;
  color: #333;
}
.close-btn[data-v-350607c8]:hover {
  background: #ff4757;
  color: white;
}
.dialog-content[data-v-350607c8] {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  background: white;
}
.dialog-form[data-v-350607c8] {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.input-section[data-v-350607c8] {
  border-bottom: 1px solid #eee;
  padding-bottom: 12px;
  margin-bottom: 12px;
  flex-shrink: 0;
}
.input-section.compact[data-v-350607c8] {
  padding: 12px 16px;
  margin-bottom: 8px;
}
.form-row[data-v-350607c8] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  align-items: flex-end;
}
.input-section.compact .form-row[data-v-350607c8] {
  margin-bottom: 0;
}
.form-group[data-v-350607c8] {
  flex: 1;
  margin-bottom: 12px;
}
.input-section.compact .form-group[data-v-350607c8] {
  margin-bottom: 0;
}
.form-label[data-v-350607c8] {
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
  color: #333;
  font-size: 13px;
}
.input-section.compact .form-label[data-v-350607c8] {
  font-size: 12px;
  margin-bottom: 4px;
}
.form-input[data-v-350607c8] {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
  min-height: 32px;
}
textarea.form-input[data-v-350607c8] {
  resize: vertical;
  min-height: 80px;
}
.input-section.compact .form-input[data-v-350607c8] {
  padding: 6px 8px;
  font-size: 13px;
}
.form-input[data-v-350607c8]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.1);
}
.form-actions[data-v-350607c8] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.input-section.compact .form-actions[data-v-350607c8] {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: flex-end;
}
.btn[data-v-350607c8] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 80px;
}
.btn-primary[data-v-350607c8] {
  background-color: #007bff;
  color: white;
}
.btn-primary[data-v-350607c8]:hover:not(:disabled) {
  background-color: #0056b3;
}
.btn-primary[data-v-350607c8]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.query-btn[data-v-350607c8] {
  width: 100px;
  min-width: 100px;
  text-align: center;
}
.results-section[data-v-350607c8] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 16px;
}
.results-header[data-v-350607c8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
}
.results-header h4[data-v-350607c8] {
  margin: 0;
  font-size: 14px;
  color: #333;
  font-weight: 600;
}
.results-actions[data-v-350607c8] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.btn-add-contact[data-v-350607c8] {
  background: #28a745;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
  min-width: 100px;
  justify-content: center;
}
.btn-add-contact[data-v-350607c8]:hover {
  background: #218838;
  transform: translateY(-1px);
}
.btn-add-contact[data-v-350607c8]:active {
  transform: translateY(0);
}
.results-content[data-v-350607c8] {
  flex: 1;
  overflow-y: auto;
  min-height: 200px;
}
.loading-state[data-v-350607c8] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
}
.loading-spinner[data-v-350607c8] {
  width: 32px;
  height: 32px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #007bff;
  border-radius: 50%;
  animation: spin-350607c8 1s linear infinite;
  margin: 0 auto 12px;
}
@keyframes spin-350607c8 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-state[data-v-350607c8] {
  text-align: center;
  padding: 40px 20px;
  color: #dc3545;
}
.error-icon[data-v-350607c8] {
  font-size: 32px;
  margin-bottom: 12px;
}
.empty-state[data-v-350607c8] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px dashed #dee2e6;
}
.empty-icon[data-v-350607c8] {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.6;
}
.result-content[data-v-350607c8] {
  padding: 16px;
  background: #f8f9fa;
  border-radius: 4px;
}
.info-section[data-v-350607c8] {
  background: white;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
  border: 1px solid #e9ecef;
}
.section-title[data-v-350607c8] {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  padding-bottom: 8px;
  border-bottom: 2px solid #007bff;
}
.info-grid[data-v-350607c8] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}
.info-item[data-v-350607c8] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.info-label[data-v-350607c8] {
  font-size: 13px;
  color: #666;
  font-weight: 500;
}
.info-value[data-v-350607c8] {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}
.readonly-notice[data-v-350607c8] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
  border: 1px solid #ffc107;
  border-radius: 8px;
}
.readonly-badge[data-v-350607c8] {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #ffc107;
  color: #856404;
  font-size: 11px;
  font-weight: 500;
  border-radius: 12px;
}
.dialog-fade-enter-active[data-v-350607c8],
.dialog-fade-leave-active[data-v-350607c8] {
  transition: all 0.3s ease;
}
.dialog-fade-enter-from[data-v-350607c8] {
  opacity: 0;
  transform: scale(0.9);
}
.dialog-fade-leave-to[data-v-350607c8] {
  opacity: 0;
  transform: scale(0.9);
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/SiteFooter.vue?vue&type=style&index=0&id=05c218f2&scoped=true&lang=css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.toolbar[data-v-05c218f2] {
  position: relative;
  width: 100%;
  background-color: #F8F8F8;
  color: #333;
  box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.05);
  border-top: 1px solid #e0e0e0;
  height: 32px;
  flex-shrink: 0; /* 防止被压缩 */
}
.toolbar-content[data-v-05c218f2] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  padding-right: 20px;
}
.tool-btn[data-v-05c218f2] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background-color: transparent;
  color: #666;
  cursor: pointer;
  transition: all 0.3s ease;
}
.tool-btn[data-v-05c218f2]:hover {
  background-color: rgba(0, 123, 255, 0.1);
  color: #007bff;
  transform: translateY(-1px);
}
.tool-btn[data-v-05c218f2]:active {
  transform: translateY(0);
  background-color: rgba(0, 123, 255, 0.2);
}
.tool-btn.active[data-v-05c218f2] {
  background-color: rgba(0, 123, 255, 0.15);
  color: #007bff;
}
.tool-btn.active[data-v-05c218f2]:hover {
  background-color: rgba(0, 123, 255, 0.2);
  color: #0056b3;
}
.icon-waybill[data-v-05c218f2],
.icon-schedule[data-v-05c218f2],
.icon-ship[data-v-05c218f2],
.icon-search[data-v-05c218f2],
.icon-news[data-v-05c218f2],
.icon-hscode[data-v-05c218f2],

.icon-contact[data-v-05c218f2] {
  font-style: normal;
  display: flex;
  align-items: center;
  justify-content: center;
}


/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/LoginDialog.vue?vue&type=style&index=0&id=0717b391&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.login-dialog-overlay[data-v-0717b391] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.login-dialog[data-v-0717b391] {
  background: white;
  border-radius: 12px;
  width: 440px;
  max-width: 95vw;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  animation: dialogFadeIn-0717b391 0.3s ease-out;
  padding-bottom: 12px;
}
@keyframes dialogFadeIn-0717b391 {
from {
    opacity: 0;
    transform: translateY(-20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.login-header[data-v-0717b391] {
  padding: 28px 32px 18px 32px;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.login-header h2[data-v-0717b391] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #333;
}
.close-button[data-v-0717b391] {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: #666;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s;
}
.close-button[data-v-0717b391]:hover {
  background-color: #f5f5f5;
}
.login-form[data-v-0717b391] {
  padding: 32px 32px 16px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.form-group[data-v-0717b391],
.login-error-msg[data-v-0717b391],
.login-info-msg[data-v-0717b391] {
  width: 100%;
}
.form-group label[data-v-0717b391] {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  color: #333;
}
.form-group input[data-v-0717b391] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  transition: border-color 0.2s;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
}
.form-group input[data-v-0717b391]:focus {
  border-color: #2196F3;
  outline: none;
}
.dialog-footer[data-v-0717b391] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
  width: 100%;
}
.submit-spinner[data-v-0717b391] {
  width: 16px;
  height: 16px;
  border: 2px solid #ffffff;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin-0717b391 0.8s linear infinite;
  margin-right: 8px;
}
.btn[data-v-0717b391] {
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  min-width: 80px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.btn[data-v-0717b391]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn-primary[data-v-0717b391] {
  background-color: #2196F3;
  color: white;
}
.btn-primary[data-v-0717b391]:hover:not(:disabled) {
  background-color: #1976D2;
}
.btn-secondary[data-v-0717b391] {
  background-color: #f5f5f5;
  color: #333;
  border: 1px solid #d9d9d9;
}
.btn-secondary[data-v-0717b391]:hover:not(:disabled) {
  background-color: #e8e8e8;
  border-color: #d9d9d9;
}
@keyframes spin-0717b391 {
to {
    transform: rotate(360deg);
}
}
.login-error-msg[data-v-0717b391] {
  color: #f44336;
  font-size: 14px;
  margin-bottom: 10px;
  text-align: left;
  padding-left: 2px;
}
.login-info-msg[data-v-0717b391] {
  color: #4CAF50;
  font-size: 14px;
  margin-bottom: 10px;
  text-align: left;
  padding-left: 2px;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************/

/* Reset default margins and padding */
* {
  font-family: Arial, 'Microsoft Yahei', sans-serif;
}
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: Arial, 'Microsoft Yahei', sans-serif;
  background-color: #F8F8F8;
  overflow-x: hidden; /* 防止水平滚动 */
}

/* 确保所有文本元素都使用统一字体 */
h1, h2, h3, h4, h5, h6, p, span, div, a, button, input, textarea, select, label {
  font-family: Arial, 'Microsoft Yahei', sans-serif !important;
}
.app-container {
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.global-content-wrapper {
  margin-top: 64px;
  flex: 1;
  display: flex;
  flex-direction: column; /* 垂直布局 */
  overflow: hidden;
  min-height: 0; /* 允许flex子项缩小 */
  max-height: 100%; /* 最大高度为100% */
}

/* 登录页不使用全局布局样式 */
.global-content-wrapper.no-layout {
  margin-top: 0;
  height: 100vh;
  flex: none;
  display: block;
  overflow: visible;
  min-height: auto;
  max-height: none;
}
.router-view-wrapper {
  width: 100%;
  height: 100%;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* 登录页的 router-view 不使用布局样式 */
.router-view-wrapper.no-layout {
  height: auto;
  flex: none;
  min-height: auto;
  display: block;
  overflow: visible;
}

/* 可滚动页面的 router-view 样式 */
.router-view-wrapper.scrollable {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: auto !important;
  flex: none !important;
}
.chart-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/SearchResultList.vue?vue&type=style&index=0&id=8395b65a&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.search-result-container[data-v-8395b65a] {
  /* 居中承载区，避免整体偏左，右侧大片空白 */
  padding: 0 24px;
  max-width: 1200px;
  margin: 0 auto;
  font-family: 'Microsoft YaHei', Arial, sans-serif;
  height: calc(100% - 58px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
}
.search-stats[data-v-8395b65a] {
  margin: 12px 0;
  font-size: 14px;
  color: #70757a;
}
.search-results[data-v-8395b65a] {
  margin-bottom: 24px;
  height: calc(100% - 70px);
  overflow-y: auto;
  /* 让滚动条延伸到容器最右侧边缘 */
  margin-right: -24px;
  padding-right: 24px;
  /* 自定义滚动条样式，使其更美观 */
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

/* WebKit 浏览器（Chrome、Safari、Edge）滚动条样式 */
.search-results[data-v-8395b65a]::-webkit-scrollbar {
  width: 8px;
}
.search-results[data-v-8395b65a]::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 4px;
}
.search-results[data-v-8395b65a]::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  border: 2px solid transparent;
  background-clip: content-box;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.search-results[data-v-8395b65a]::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.35);
  border: 1px solid transparent;
  background-clip: content-box;
}
.search-result-item[data-v-8395b65a] {
  /* 使用容器宽度，避免内容过窄导致右侧大量空白 */
  max-width: 100%;
  margin-bottom: 28px;
  font-family: 'Microsoft YaHei', Arial, sans-serif;
}
.result-url[data-v-8395b65a] {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #202124;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.domain[data-v-8395b65a] {
  color: #202124;
  font-weight: 500;
}
.url-path[data-v-8395b65a] {
  color: #5f6368;
  margin-left: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.result-title[data-v-8395b65a] {
  margin: 0 0 6px 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  cursor: pointer;
  color: #1a0dab;
}
.result-title[data-v-8395b65a]:hover {
  text-decoration: underline;
}
.result-snippet[data-v-8395b65a] {
  font-size: 14px;
  line-height: 1.58;
  color: #4d5156;
}

/* 分页样式 */
.pagination[data-v-8395b65a] {
  display: flex;
  justify-content: center;
}
.pagination-controls[data-v-8395b65a] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pagination-btn[data-v-8395b65a] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #1a73e8;
  border-radius: 50%;
}
.pagination-btn[data-v-8395b65a]:hover:not(:disabled) {
  background-color: rgba(26, 115, 232, 0.1);
}
.pagination-btn[data-v-8395b65a]:disabled {
  color: #dadce0;
  cursor: not-allowed;
}
.page-numbers[data-v-8395b65a] {
  display: flex;
  gap: 4px;
  align-items: center;
}
.page-number[data-v-8395b65a], .page-ellipsis[data-v-8395b65a] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 8px;
  border: none;
  background: transparent;
  font-size: 14px;
  color: #4285f4;
  cursor: pointer;
  border-radius: 18px;
}
.page-number[data-v-8395b65a]:hover {
  background-color: rgba(26, 115, 232, 0.1);
}
.page-number.active[data-v-8395b65a] {
  background-color: #1a73e8;
  color: white;
  cursor: default;
}
.page-ellipsis[data-v-8395b65a] {
  cursor: default;
}

/* 加载指示器样式 */
.loading-indicator[data-v-8395b65a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: 40px 0;
  color: #5f6368;
}
.loading-spinner[data-v-8395b65a] {
  width: 24px;
  height: 24px;
  border: 3px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #1a73e8;
  animation: spin-8395b65a 1s linear infinite;
}
@keyframes spin-8395b65a {
to {
    transform: rotate(360deg);
}
}

/* 无结果提示样式 */
.no-results[data-v-8395b65a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 600px;
  margin: 60px auto;
  color: #5f6368;
}
.no-results-icon[data-v-8395b65a] {
  margin-bottom: 16px;
}
.no-results h3[data-v-8395b65a] {
  margin: 0 0 16px 0;
  font-size: 20px;
  font-weight: 400;
  color: #202124;
}
.no-results p[data-v-8395b65a] {
  margin: 8px 0;
  font-weight: 500;
}
.no-results ul[data-v-8395b65a] {
  text-align: left;
  padding-left: 24px;
}
.no-results li[data-v-8395b65a] {
  margin-bottom: 8px;
}

/* 高亮文本样式 */
[data-v-8395b65a] em {
  font-style: normal;
  font-weight: bold;
  color: #ea4335;
}

/* 物流字段样式 */
.logistics-fields[data-v-8395b65a] {
  margin-top: 16px;
  padding: 16px;
  padding-top: 12px;
  border-top: 2px solid #e8eaed;
  background-color: #f8f9fa;
  border-radius: 8px;
}
.logistics-field[data-v-8395b65a] {
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.8;
}
.logistics-field[data-v-8395b65a]:last-child {
  margin-bottom: 0;
}
.field-label[data-v-8395b65a] {
  font-weight: 600;
  color: #1a73e8;
  margin-right: 6px;
  font-size: 14px;
}
.field-value[data-v-8395b65a] {
  color: #202124;
  font-weight: 400;
  font-size: 14px;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/EditSubscribe/AdvancedOptions.vue?vue&type=style&index=0&id=63594066&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.advanced-options[data-v-63594066] {
  margin-top: 16px;
  border-top: 1px solid #eee;
  padding-top: 16px;
}
.advanced-header[data-v-63594066] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 8px 0;
}
.advanced-title[data-v-63594066] {
  font-size: 14px;
  font-weight: 500;
  color: #666;
}
.advanced-arrow[data-v-63594066] {
  transition: transform 0.3s ease;
  color: #666;
}
.advanced-arrow.is-open[data-v-63594066] {
  transform: rotate(180deg);
}
.advanced-content[data-v-63594066] {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed #eee;
}
.advanced-section[data-v-63594066] {
  margin-bottom: 24px;
}
.advanced-section[data-v-63594066]:last-child {
  margin-bottom: 0;
}
.section-title[data-v-63594066] {
  font-size: 13px;
  font-weight: 500;
  color: #666;
  margin-bottom: 12px;
  padding-left: 8px;
  border-left: 3px solid #4a90e2;
}
.form-field[data-v-63594066] {
  display: flex;
  align-items: center;
  padding: 6px 0;
}
.field-icon[data-v-63594066] {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #555;
  margin-right: 12px;
}
.field-label[data-v-63594066] {
  width: 80px;
  font-size: 13px;
  color: #333;
  font-weight: 500;
}
.default-value[data-v-63594066] {
  font-size: 0.8em;
  display: block;
  color: #666;
  margin-left: 8px;
  font-weight: normal;
}
.field-input[data-v-63594066] {
  flex: 1;
  position: relative;
}
.field-unit[data-v-63594066] {
  margin-left: 8px;
  color: #666;
  font-size: 14px;
}
.number-field[data-v-63594066] {
  display: flex;
  align-items: center;
}
.number-field input[data-v-63594066] {
  width: 60px !important;
  text-align: center;
  font-size: 14px;
  padding: 8px 0;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.number-field input[data-v-63594066]:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2);
  outline: none;
}
.number-field input[data-v-63594066]::-webkit-outer-spin-button,
.number-field input[data-v-63594066]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.number-field input[type=number][data-v-63594066] {
  -moz-appearance: textfield;
}
.number-btn[data-v-63594066] {
  width: 32px;
  height: 32px;
  border: 1px solid #ddd;
  background: white;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin: 0 8px;
  color: #555;
  transition: all 0.2s;
}
.number-btn[data-v-63594066]:hover:not(:disabled) {
  background-color: #f5f5f5;
}
.number-btn[data-v-63594066]:disabled {
  color: #ccc;
  cursor: not-allowed;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/EditSub.vue?vue&type=style&index=0&id=d28a0a54&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.edit-sub-overlay[data-v-d28a0a54] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.edit-sub-dialog[data-v-d28a0a54] {
  background-color: white;
  border-radius: 12px;
  width: 520px;
  max-width: 90%;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  animation: dialog-fade-in-d28a0a54 0.3s;
}
@keyframes dialog-fade-in-d28a0a54 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.dialog-header[data-v-d28a0a54] {
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
}
.dialog-header h3[data-v-d28a0a54] {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
}
.close-button[data-v-d28a0a54] {
  background: transparent;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.close-button[data-v-d28a0a54]:hover {
  background-color: #f0f0f0;
}
.dialog-content[data-v-d28a0a54] {
  padding: 20px;
  max-height: 60vh;
  overflow-y: auto;
}

/* 订阅类型选择样式 */
.subscription-type[data-v-d28a0a54] {
  display: flex;
  gap: 20px;
  margin-bottom: 24px;
  border-bottom: 1px solid #eee;
  padding-bottom: 16px;
}
.radio-label[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.radio-text[data-v-d28a0a54] {
  font-size: 14px;
}

/* 网页订阅提示样式 */
.plugin-instruction[data-v-d28a0a54] {
  padding: 48px 16px;
  text-align: center;
}
.instruction-content[data-v-d28a0a54] {
  background-color: #f9f9f9;
  border-radius: 8px;
  padding: 20px;
}
.instruction-content p[data-v-d28a0a54] {
  margin: 0;
  font-size: 14px;
  color: #666;
  line-height: 1.5;
}

/* 新的表单字段样式 */
.keyword-form[data-v-d28a0a54] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.form-field[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  padding: 6px 0;
}
.field-icon[data-v-d28a0a54] {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #555;
  margin-right: 12px;
}
.field-label[data-v-d28a0a54] {
  width: 80px;
  font-size: 13px;
  color: #333;
  font-weight: 500;
}
.field-input[data-v-d28a0a54] {
  flex: 1;
  position: relative;
}
.field-hint[data-v-d28a0a54] {
  margin-top: 4px;
  font-size: 12px;
  color: #999;
  line-height: 1.4;
  margin-left: 0;
}
.field-input input[type="text"][data-v-d28a0a54],
.field-input input[type="number"][data-v-d28a0a54] {
  width: calc(100% - 24px);
  padding: 9px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  background-color: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.field-input input[data-v-d28a0a54]:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2);
  outline: none;
}

/* 下拉菜单样式 */
.custom-select[data-v-d28a0a54] {
  position: relative;
  width: 100%;
  cursor: pointer;
}
.selected-value[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #fff;
  font-size: 14px;
  color: #333;
}
.select-arrow[data-v-d28a0a54] {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  pointer-events: none;
}
.dropdown-menu[data-v-d28a0a54] {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-height: 200px;
  overflow-y: auto;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-top: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 10;
}
.dropdown-item[data-v-d28a0a54] {
  padding: 10px 12px;
  font-size: 14px;
  color: #333;
  transition: background-color 0.2s;
}
.dropdown-item[data-v-d28a0a54]:hover {
  background-color: #f5f5f5;
}

/* 复选框样式 */
.checkbox-label[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  padding-left: 24px;
}
.checkbox-label input[data-v-d28a0a54] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.checkbox-custom[data-v-d28a0a54] {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 16px;
  width: 16px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
}
.checkbox-label:hover input ~ .checkbox-custom[data-v-d28a0a54] {
  border-color: #4a90e2;
}
.checkbox-label input:checked ~ .checkbox-custom[data-v-d28a0a54] {
  background-color: #4a90e2;
  border-color: #4a90e2;
}
.checkbox-custom[data-v-d28a0a54]:after {
  content: "";
  position: absolute;
  display: none;
}
.checkbox-label input:checked ~ .checkbox-custom[data-v-d28a0a54]:after {
  display: block;
  left: 5px;
  top: 2px;
  width: 3px;
  height: 8px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* 单选按钮样式 */
.radio-group[data-v-d28a0a54] {
  display: flex;
  gap: 12px;
}
.radio-button[data-v-d28a0a54] {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  padding: 8px 16px;
  background-color: #f5f5f5;
  border-radius: 20px;
  font-size: 14px;
  color: #555;
  transition: all 0.2s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.radio-button input[data-v-d28a0a54] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.radio-button.active[data-v-d28a0a54] {
  background-color: #4a90e2;
  color: white;
}

/* 数字输入控件样式 */
.number-field[data-v-d28a0a54] {
  display: flex;
  align-items: center;
}
.number-field input[data-v-d28a0a54] {
  width: 60px !important;
  text-align: center;
  font-size: 14px;
  padding: 8px 0;
}
.number-btn[data-v-d28a0a54] {
  width: 32px;
  height: 32px;
  border: 1px solid #ddd;
  background: white;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin: 0 8px;
  color: #555;
}
.number-btn[data-v-d28a0a54]:hover {
  background-color: #f5f5f5;
}
.number-btn[data-v-d28a0a54]:disabled {
  color: #ccc;
  cursor: not-allowed;
}

/* 开关控件样式 */
.toggle-switch[data-v-d28a0a54] {
  display: flex;
  align-items: center;
}
.switch[data-v-d28a0a54] {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 22px;
}
.switch input[data-v-d28a0a54] {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider[data-v-d28a0a54] {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
}
.slider[data-v-d28a0a54]:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: .4s;
}
input:checked + .slider[data-v-d28a0a54] {
  background-color: #4a90e2;
}
input:focus + .slider[data-v-d28a0a54] {
  box-shadow: 0 0 1px #4a90e2;
}
input:checked + .slider[data-v-d28a0a54]:before {
  transform: translateX(22px);
}
.slider.round[data-v-d28a0a54] {
  border-radius: 22px;
}
.slider.round[data-v-d28a0a54]:before {
  border-radius: 50%;
}
.switch-label[data-v-d28a0a54] {
  margin-left: 8px;
  font-size: 14px;
  color: #333;
}
.dialog-footer[data-v-d28a0a54] {
  padding: 16px 20px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid #eee;
}
.cancel-button[data-v-d28a0a54] {
  padding: 8px 16px;
  border: 1px solid #ddd;
  background-color: white;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  color: #333;
}
.cancel-button[data-v-d28a0a54]:hover {
  background-color: #f5f5f5;
}
.submit-button[data-v-d28a0a54] {
  padding: 8px 16px;
  border: none;
  background-color: #4a90e2;
  color: white;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
}
.submit-button[data-v-d28a0a54]:hover {
  background-color: #3a80d2;
}
.submit-button[data-v-d28a0a54]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

/* 添加提交按钮状态和加载动画 */
.submit-spinner[data-v-d28a0a54] {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin-d28a0a54 1s ease-in-out infinite;
  margin-right: 8px;
}
@keyframes spin-d28a0a54 {
to { transform: rotate(360deg);
}
}

/* 复选框样式 - new or adapt existing */
.radio-option-label[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  padding-left: 24px; /* Adjust as needed */
}
.radio-option-label input[type="radio"][data-v-d28a0a54] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
.radio-option-custom[data-v-d28a0a54] {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 16px; /* Adjust as needed */
  width: 16px;  /* Adjust as needed */
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 50%; /* Makes it round for radio */
}
.radio-option-label:hover input[type="radio"] ~ .radio-option-custom[data-v-d28a0a54] {
  border-color: #4a90e2;
}
.radio-option-label input[type="radio"]:checked ~ .radio-option-custom[data-v-d28a0a54] {
  background-color: #fff; /* Outer circle background */
  border-color: #4a90e2;
}
.radio-option-custom[data-v-d28a0a54]:after {
  content: "";
  position: absolute;
  display: none;
}
.radio-option-label input[type="radio"]:checked ~ .radio-option-custom[data-v-d28a0a54]:after {
  display: block;
  top: 4px;    /* Centering the inner dot */
  left: 4px;   /* Centering the inner dot */
  width: 8px;  /* Size of the inner dot */
  height: 8px; /* Size of the inner dot */
  border-radius: 50%;
  background: #4a90e2; /* Color of the inner dot */
}

/* 高级选项样式 */
.advanced-options[data-v-d28a0a54] {
  margin-top: 16px;
  border-top: 1px solid #eee;
  padding-top: 16px;
}
.advanced-header[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 8px 0;
}
.advanced-title[data-v-d28a0a54] {
  font-size: 14px;
  font-weight: 500;
  color: #666;
}
.advanced-arrow[data-v-d28a0a54] {
  transition: transform 0.3s ease;
}
.advanced-arrow.is-open[data-v-d28a0a54] {
  transform: rotate(180deg);
}
.advanced-content[data-v-d28a0a54] {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed #eee;
}
.advanced-section[data-v-d28a0a54] {
  margin-bottom: 24px;
}
.advanced-section[data-v-d28a0a54]:last-child {
  margin-bottom: 0;
}
.section-title[data-v-d28a0a54] {
  font-size: 13px;
  font-weight: 500;
  color: #666;
  margin-bottom: 12px;
  padding-left: 8px;
  border-left: 3px solid #4a90e2;
}
.field-unit[data-v-d28a0a54] {
  margin-left: 8px;
  color: #666;
  font-size: 14px;
}
.default-value[data-v-d28a0a54] {
  font-size: 0.8em;
  display: block;
  color: #666;
  margin-left: 8px;
  font-weight: normal;
}

/* 调度子配置样式 */
.schedule-sub-config[data-v-d28a0a54] {
  margin-left: 48px;
  margin-top: 8px;
  padding-left: 12px;
  border-left: 2px solid #e0e0e0;
}
.sub-field[data-v-d28a0a54] {
  padding: 4px 0;
}
.sub-icon[data-v-d28a0a54] {
  width: 28px;
  height: 28px;
  margin-right: 8px;
}
.sub-label[data-v-d28a0a54] {
  width: 70px;
  font-size: 12px;
  color: #666;
}

/* 时间列表样式 */
.time-list[data-v-d28a0a54] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.time-item[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.time-input[data-v-d28a0a54] {
  width: 120px;
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
}
.remove-time-btn[data-v-d28a0a54] {
  width: 24px;
  height: 24px;
  border: 1px solid #ddd;
  background: white;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #666;
}
.remove-time-btn[data-v-d28a0a54]:hover {
  background-color: #f5f5f5;
  color: #d32f2f;
}
.add-time-btn[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border: 1px dashed #ccc;
  background: white;
  border-radius: 4px;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  width: -moz-fit-content;
  width: fit-content;
}
.add-time-btn[data-v-d28a0a54]:hover {
  border-color: #4a90e2;
  color: #4a90e2;
}

/* {{ t('editSub.cronExpression') }}样式 */
.cron-input[data-v-d28a0a54] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 13px;
  font-family: 'Courier New', monospace;
}
.cron-help[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.help-text[data-v-d28a0a54] {
  font-size: 11px;
  color: #999;
}
.help-btn[data-v-d28a0a54] {
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
}
.help-btn[data-v-d28a0a54]:hover {
  color: #4a90e2;
}
.cron-help-content[data-v-d28a0a54] {
  margin-top: 8px;
  padding: 12px;
  background: #f9f9f9;
  border-radius: 6px;
  font-size: 12px;
}
.cron-help-content h4[data-v-d28a0a54] {
  margin: 0 0 8px 0;
  font-size: 13px;
  color: #333;
}
.cron-help-content ul[data-v-d28a0a54] {
  margin: 0;
  padding-left: 16px;
}
.cron-help-content li[data-v-d28a0a54] {
  margin-bottom: 4px;
}
.cron-help-content code[data-v-d28a0a54] {
  background: #e8e8e8;
  padding: 2px 4px;
  border-radius: 3px;
  font-family: 'Courier New', monospace;
  font-size: 11px;
}
.unit-selector[data-v-d28a0a54] {
  margin-left: 8px;
}
.unit-selector select[data-v-d28a0a54] {
  font-size: 13px;
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s;
}
.unit-selector select[data-v-d28a0a54]:focus {
  border-color: #4a90e2;
}
.unit-selector select[data-v-d28a0a54]:hover {
  border-color: #4a90e2;
}
.schedule-tag[data-v-d28a0a54] {
  display: inline-block;
  padding: 2px 8px 2px 6px;
  border-radius: 12px;
  font-size: 11px;
  color: white;
  height: 18px;
  line-height: 18px;
  min-width: 36px;
  text-align: center;
  font-family: 'Microsoft Yahei';
  display: flex;
  align-items: center;
  gap: 4px;
  background-color: #0072c6;
}
.schedule-tag svg[data-v-d28a0a54] {
  width: 12px;
  height: 12px;
}

/* 内容插件选择器样式 */
.content-plugin-selector[data-v-d28a0a54] {
  margin-top: 8px;
}
.content-plugin-selector .custom-select[data-v-d28a0a54] {
  width: 100%;
  position: relative;
  cursor: pointer;
}
.content-plugin-selector .selected-value[data-v-d28a0a54] {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: white;
  font-size: 13px;
  color: #333;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: border-color 0.2s;
}
.content-plugin-selector .selected-value[data-v-d28a0a54]:hover {
  border-color: #4a90e2;
}
.content-plugin-selector .select-arrow[data-v-d28a0a54] {
  color: #666;
  transition: transform 0.2s;
}
.content-plugin-selector .dropdown-menu[data-v-d28a0a54] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  max-height: 200px;
  overflow-y: auto;
}
.content-plugin-selector .dropdown-item[data-v-d28a0a54] {
  padding: 8px 12px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.content-plugin-selector .dropdown-item[data-v-d28a0a54]:hover {
  background-color: #f5f5f5;
}
.content-plugin-selector .radio-option-label[data-v-d28a0a54] {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  width: 100%;
}
.content-plugin-selector .radio-option-custom[data-v-d28a0a54] {
  width: 16px;
  height: 16px;
  border: 2px solid #ddd;
  border-radius: 50%;
  position: relative;
  transition: border-color 0.2s;
}
.content-plugin-selector input[type="radio"]:checked + .radio-option-custom[data-v-d28a0a54] {
  border-color: #4a90e2;
}
.content-plugin-selector input[type="radio"]:checked + .radio-option-custom[data-v-d28a0a54]::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background-color: #4a90e2;
  border-radius: 50%;
}
.content-plugin-selector input[type="radio"][data-v-d28a0a54] {
  display: none;
}

/* 每页条数重置按钮 */
.reset-btn[data-v-d28a0a54] {
  margin-left: 8px;
  width: 32px;
  height: 32px;
  border: 1px solid #ddd;
  background: white;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #666;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.reset-btn[data-v-d28a0a54]:hover {
  background-color: #f5f5f5;
  color: #4a90e2;
  border-color: #c5d7f2;
}
.reset-btn[data-v-d28a0a54]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
  background-color: #f9f9f9;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/AddTagDialog.vue?vue&type=style&index=0&id=5de29591&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.add-tag-content-container[data-v-5de29591] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}
.tag-content-wrapper[data-v-5de29591] {
  background-color: white;
  border-radius: 12px;
  width: 520px;
  max-width: 90%;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  animation: dialog-fade-in 0.3s;
}
.dialog-header[data-v-5de29591] {
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
}
.dialog-header h3[data-v-5de29591] {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
}
.close-button[data-v-5de29591] {
  background: transparent;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.close-button[data-v-5de29591]:hover {
  background-color: #f0f0f0;
}
.dialog-content[data-v-5de29591] {
  padding: 20px;
  max-height: 30vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  justify-content: center;
}
.form-field[data-v-5de29591] {
  display: flex;
  align-items: center;
  padding: 6px 0;
}
.field-label[data-v-5de29591] {
  width: 80px;
  font-size: 13px;
  color: #333;
  font-weight: 500;
}
.field-input[data-v-5de29591] {
  flex: 1; 
  position: relative;
}
.field-input textarea[data-v-5de29591]{
  /* width: calc(100% + 12px) !important; */
}
.field-input textarea[data-v-5de29591],
.field-input input[type="text"][data-v-5de29591],
.field-input input[type="number"][data-v-5de29591] {
  box-sizing: border-box;
  width: calc(100% - 24px);
  padding: 9px 12px;
  margin: 0;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  background-color: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.field-input textarea[data-v-5de29591]:focus,
.field-input input[data-v-5de29591]:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2);
  outline: none;
}
.dialog-footer[data-v-5de29591] {
  padding: 16px 20px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid #eee;
}
.cancel-button[data-v-5de29591] {
  padding: 8px 16px;
  border: 1px solid #ddd;
  background-color: white;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  color: #333;
}
.cancel-button[data-v-5de29591]:hover {
  background-color: #f5f5f5;
}
.submit-button[data-v-5de29591] {
  padding: 8px 16px;
  border: none;
  background-color: #4a90e2;
  color: white;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
}
.submit-button[data-v-5de29591]:hover {
  background-color: #3a80d2;
}
.submit-button[data-v-5de29591]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

/* 添加提交按钮状态和加载动画 */
.submit-spinner[data-v-5de29591] {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin-5de29591 1s ease-in-out infinite;
  margin-right: 8px;
}
@keyframes spin-5de29591 {
to { transform: rotate(360deg);
}
}
.char-width-count[data-v-5de29591] {
  text-align: right;
  font-size: 12px;
  color: #999;
  margin-top: 4px;
}

/* 错误提示样式 */
.error[data-v-5de29591] {
  border-color: #ff4d4f !important;
}
.error-message[data-v-5de29591] {
  color: #ff4d4f;
  font-size: 12px;
  margin-top: 4px;
  min-height:16px;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/TagListDialog.vue?vue&type=style&index=0&id=81d19a80&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 页面布局样式 */
.tag-content-container[data-v-81d19a80] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  backdrop-filter: blur(4px);
}

/* 微交互效果 */
.tag-content-wrapper[data-v-81d19a80] {
  background-color: #ffffff;
  border-radius: 16px;
  width: 800px;
  max-width: 90vw;
  max-height: 85vh;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  animation: dialog-fade-in-81d19a80 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* 移除悬浮动画 */
@keyframes dialog-fade-in-81d19a80 {
from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}

/* 对话框头部 */
.dialog-header[data-v-81d19a80] {
  padding: 24px 32px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f0f0f0;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}
.dialog-header h3[data-v-81d19a80] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: -0.02em;
}
.close-button[data-v-81d19a80] {
  background: transparent;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s ease;
  width: 36px;
  height: 36px;
}
.close-button[data-v-81d19a80]:hover {
  background-color: #f5f5f5;
  color: #333;
  transform: scale(1.1);
}

/* 页面头部 */
.page-header[data-v-81d19a80] {
  padding: 24px 32px 20px;
  background-color: #ffffff;
}

/* 同步指示器样式 */
.sync-indicator-row[data-v-81d19a80] {
  height: 2px;
  padding: 0;
  margin: 0;
  transition: height 0.3s ease-out, opacity 0.3s ease-out;
}
.sync-indicator-row.sync-hiding[data-v-81d19a80] {
  height: 0;
  opacity: 0;
}
.sync-indicator-cell[data-v-81d19a80] {
  padding: 0 !important;
  margin: 0;
  height: 2px;
  position: relative;
  overflow: hidden;
  transition: height 0.3s ease-out;
}
.sync-indicator-cell.sync-hiding[data-v-81d19a80] {
  height: 0;
}
.sync-indicator[data-v-81d19a80] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #4a90e2, transparent);
  background-size: 300% 100%;
  animation: sync-flow-81d19a80 2s linear infinite;
  transition: height 0.3s ease-out, opacity 0.3s ease-out;
}
.sync-indicator.sync-hiding[data-v-81d19a80] {
  height: 0;
  opacity: 0;
}
@keyframes sync-flow-81d19a80 {
0% {
    background-position: 300% 0;
}
100% {
    background-position: -100% 0;
}
}
.header-actions[data-v-81d19a80] {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

/* 搜索结果提示 */
.search-result-info[data-v-81d19a80] {
  margin-top: 16px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);
  border-radius: 8px;
  border-left: 4px solid #4a90e2;
}
.search-result-info span[data-v-81d19a80] {
  color: #1976d2;
  font-size: 13px;
  font-weight: 500;
}

/* 搜索框样式 */
.search-box[data-v-81d19a80] {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1;
  max-width: 300px;
}
.search-icon[data-v-81d19a80] {
  position: absolute;
  left: 12px;
  color: #999;
  z-index: 1;
}
.search-box input[data-v-81d19a80] {
  background-color: #f8f9fa;
  border: 2px solid transparent;
  border-radius: 12px;
  padding: 12px 16px 12px 44px;
  font-size: 14px;
  width: 100%;
  transition: all 0.3s ease;
  color: #333;
}
.search-box input[data-v-81d19a80]:focus {
  outline: none;
  background-color: #ffffff;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
  transform: translateY(-1px);
}
.search-box input[data-v-81d19a80]::-moz-placeholder {
  color: #999;
}
.search-box input[data-v-81d19a80]::placeholder {
  color: #999;
}

/* 添加按钮样式 */
.btn[data-v-81d19a80] {
  padding: 12px 20px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  transition: all 0.3s ease;
  text-decoration: none;
  white-space: nowrap;
}
.btn-add[data-v-81d19a80] {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.3);
}
.btn-add[data-v-81d19a80]:hover {
  background: linear-gradient(135deg, #357abd 0%, #2d6da3 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(74, 144, 226, 0.4);
}
.btn-add[data-v-81d19a80]:active {
  transform: translateY(0);
}
.btn-add.disabled[data-v-81d19a80] {
  background: #ccc;
  color: #999;
  cursor: not-allowed;
  box-shadow: none;
}
.btn-add.disabled[data-v-81d19a80]:hover {
  background: #ccc;
  transform: none;
  box-shadow: none;
}
.tag-count[data-v-81d19a80] {
  margin-left: 8px;
  font-size: 12px;
  opacity: 0.8;
  font-weight: 400;
}

/* 表格样式 */
.excel-table[data-v-81d19a80] {
  background-color: #ffffff;
  border-radius: 0;
  overflow: hidden;
}
.table-container[data-v-81d19a80] {
  overflow-x: auto;
  max-height: 400px;
  overflow-y: auto;
}
.table-container[data-v-81d19a80]::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.table-container[data-v-81d19a80]::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}
.table-container[data-v-81d19a80]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.table-container[data-v-81d19a80]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}
table[data-v-81d19a80] {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
}
th[data-v-81d19a80], td[data-v-81d19a80] {
  padding: 16px 20px;
  text-align: left;
  border-bottom: 1px solid #f0f0f0;
}
td[data-v-81d19a80] {
  background-color: #ffffff;
}
tr:nth-child(even) td[data-v-81d19a80] {
  background-color: #fafbfc;
}
tr:nth-child(even):hover td[data-v-81d19a80] {
  background-color: #f8f9fa;
}
th[data-v-81d19a80] {
  font-weight: 600;
  color: #555;
  background: linear-gradient(135deg, #f8f9fa 0%, #f1f3f4 100%);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 2px solid #e9ecef;
}
tr[data-v-81d19a80] {
  border-left: 3px solid transparent;
}
tr[data-v-81d19a80]:hover {
  background-color: #f8f9fa;
}
.table-row[data-v-81d19a80] {
  cursor: pointer;
}
.table-row[data-v-81d19a80]:last-child {
  border-bottom: none;
}

/* 列宽度设置 */
.tag-name-col[data-v-81d19a80] {
  width: 40%;
  min-width: 200px;
}
.tag-number-col[data-v-81d19a80] {
  width: 20%;
  min-width: 120px;
  text-align: center;
}
.create-time-col[data-v-81d19a80] {
  width: 30%;
  min-width: 180px;
}
.action-col[data-v-81d19a80] {
  width: 10%;
  min-width: 80px;
  text-align: center;
}

/* 标签信息样式 */
.tag-info[data-v-81d19a80] {
  display: flex;
  align-items: center;
}
.tag-name[data-v-81d19a80] {
  font-weight: 500;
  color: #333;
  font-size: 14px;
}

/* 操作按钮样式 */
.action-buttons[data-v-81d19a80] {
  display: flex;
  justify-content: center;
  gap: 8px;
}

/* 按钮微交互 */
.btn-action[data-v-81d19a80] {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #666;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.btn-action[data-v-81d19a80]::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background-color: rgba(74, 144, 226, 0.1);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease;
}
.btn-action[data-v-81d19a80]:hover::before {
  width: 100%;
  height: 100%;
}
.delete-action[data-v-81d19a80]:hover {
  background-color: #fff5f5;
  color: #ff4d4f;
  transform: scale(1.1);
}
.delete-action[data-v-81d19a80]:active {
  transform: scale(0.95);
}

/* 空状态和加载状态 */
.empty-row[data-v-81d19a80], .loading-row[data-v-81d19a80] {
  text-align: center;
}
.empty-state[data-v-81d19a80] {
  padding: 60px 0;
  text-align: center;
  color: #999;
}
.empty-icon[data-v-81d19a80] {
  margin-bottom: 16px;
  opacity: 0.6;
  color: #ccc;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}
.empty-state p[data-v-81d19a80] {
  margin: 0;
  font-size: 14px;
  color: #999;
  font-weight: 500;
}

/* 加载状态样式 */
.loading-row[data-v-81d19a80] {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading-shimmer-81d19a80 1.5s infinite;
}
@keyframes loading-shimmer-81d19a80 {
0% {
    background-position: 200% 0;
}
100% {
    background-position: -200% 0;
}
}
.loading-indicator[data-v-81d19a80] {
  padding: 60px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  color: #666;
}
.loading-indicator span[data-v-81d19a80] {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}
.spinner[data-v-81d19a80] {
  width: 32px;
  height: 32px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #4a90e2;
  border-radius: 50%;
  animation: spin-81d19a80 1s linear infinite;
  box-shadow: 0 2px 8px rgba(74, 144, 226, 0.2);
}
@keyframes spin-81d19a80 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 分页样式 */
.pagination[data-v-81d19a80] {
  padding: 20px 32px;
  border-top: 1px solid #f0f0f0;
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
}
.pagination-buttons[data-v-81d19a80] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.pagination-button[data-v-81d19a80] {
  padding: 8px 16px;
  border: 1px solid #e0e0e0;
  background-color: #ffffff;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s ease;
  color: #666;
  min-width: 40px;
  font-weight: 500;
}
.pagination-button[data-v-81d19a80]:hover:not(:disabled) {
  background-color: #f5f5f5;
  border-color: #4a90e2;
  color: #4a90e2;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(74, 144, 226, 0.2);
}
.pagination-button[data-v-81d19a80]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: #f5f5f5;
}
.page-number.active[data-v-81d19a80] {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
  color: #ffffff;
  border-color: #4a90e2;
  box-shadow: 0 2px 8px rgba(74, 144, 226, 0.3);
  transform: scale(1.05);
}
.pagination-ellipsis[data-v-81d19a80] {
  padding: 0 12px;
  color: #999;
  font-weight: 500;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* 查询功能样式 */
.query-loading[data-v-81d19a80] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #666;
  font-size: 13px;
}
.loading-spinner[data-v-81d19a80] {
  width: 16px;
  height: 16px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #4a90e2;
  border-radius: 50%;
  animation: spin-81d19a80 1s linear infinite;
}
.query-content[data-v-81d19a80] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.query-btn[data-v-81d19a80] {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  color: #555;
  border: 1px solid #dee2e6;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: 500;
  min-width: 60px;
}
.query-btn[data-v-81d19a80]:hover {
  background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
  border-color: #4a90e2;
  color: #4a90e2;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(74, 144, 226, 0.2);
}
.query-btn[data-v-81d19a80]:active {
  transform: translateY(0);
}
.count-display[data-v-81d19a80] {
  font-size: 14px;
  color: #155724;
  font-weight: 600;
  padding: 6px 12px;
  background: linear-gradient(135deg, #e8f5e8 0%, #f0f8f0 100%);
  border-radius: 8px;
  min-width: 40px;
  text-align: center;
  border: 1px solid #d4edda;
}

/* 模态框样式 */
.modal-overlay[data-v-81d19a80] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  backdrop-filter: blur(4px);
}
.modal-content[data-v-81d19a80] {
  background-color: white;
  border-radius: 16px;
  width: 450px;
  max-width: 90vw;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  animation: modal-fade-in-81d19a80 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
}
@keyframes modal-fade-in-81d19a80 {
from {
    opacity: 0;
    transform: translateY(-30px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.modal-header[data-v-81d19a80] {
  padding: 24px 24px 20px;
  border-bottom: 1px solid #f0f0f0;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}
.modal-header h3[data-v-81d19a80] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1a1a1a;
}
.modal-body[data-v-81d19a80] {
  padding: 24px;
  line-height: 1.6;
}
.modal-body p[data-v-81d19a80] {
  margin: 0;
  color: #555;
  font-size: 14px;
}
.modal-body strong[data-v-81d19a80] {
  color: #333;
  font-weight: 600;
}
.modal-footer[data-v-81d19a80] {
  padding: 20px 24px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  background-color: #fafafa;
}
.modal-btn[data-v-81d19a80] {
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
  border: none;
  min-width: 80px;
}
.modal-btn-cancel[data-v-81d19a80] {
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  color: #666;
}
.modal-btn-cancel[data-v-81d19a80]:hover {
  background-color: #f5f5f5;
  border-color: #ccc;
  transform: translateY(-1px);
}
.modal-btn-confirm[data-v-81d19a80] {
  background: linear-gradient(135deg, #ff4d4f 0%, #ff7875 100%);
  color: white;
  box-shadow: 0 2px 8px rgba(255, 77, 79, 0.3);
}
.modal-btn-confirm[data-v-81d19a80]:hover:not(:disabled) {
  background: linear-gradient(135deg, #ff7875 0%, #ff4d4f 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 77, 79, 0.4);
}
.modal-btn-confirm[data-v-81d19a80]:disabled {
  background: #ccc;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* 响应式设计 */
@media (max-width: 768px) {
.tag-content-wrapper[data-v-81d19a80] {
    width: 95vw;
    max-height: 90vh;
    border-radius: 12px;
}
.dialog-header[data-v-81d19a80],
  .page-header[data-v-81d19a80],
  .pagination[data-v-81d19a80] {
    padding: 20px 24px;
}
.header-actions[data-v-81d19a80] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.search-box[data-v-81d19a80] {
    max-width: none;
}
.btn-add[data-v-81d19a80] {
    justify-content: center;
}
th[data-v-81d19a80], td[data-v-81d19a80] {
    padding: 12px 16px;
}
.tag-name-col[data-v-81d19a80] {
    width: 45%;
    min-width: 150px;
}
.tag-number-col[data-v-81d19a80] {
    width: 25%;
    min-width: 100px;
}
.create-time-col[data-v-81d19a80] {
    width: 20%;
    min-width: 120px;
}
.action-col[data-v-81d19a80] {
    width: 10%;
    min-width: 60px;
}
.search-result-info[data-v-81d19a80] {
    margin-top: 12px;
    padding: 10px 14px;
}
.table-container[data-v-81d19a80] {
    max-height: 300px;
}
}
@media (max-width: 480px) {
.tag-content-wrapper[data-v-81d19a80] {
    width: 98vw;
    border-radius: 12px;
    max-height: 95vh;
}
.dialog-header h3[data-v-81d19a80] {
    font-size: 18px;
}
.btn[data-v-81d19a80] {
    padding: 10px 16px;
    font-size: 13px;
}
th[data-v-81d19a80], td[data-v-81d19a80] {
    padding: 10px 12px;
    font-size: 13px;
}
.pagination-button[data-v-81d19a80] {
    padding: 6px 12px;
    font-size: 13px;
    min-width: 36px;
}
.search-box input[data-v-81d19a80] {
    padding: 10px 14px 10px 40px;
    font-size: 13px;
}
.search-icon[data-v-81d19a80] {
    left: 10px;
    width: 14px;
    height: 14px;
}
.query-btn[data-v-81d19a80] {
    padding: 6px 12px;
    font-size: 11px;
    min-width: 50px;
}
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/TagItem.vue?vue&type=style&index=0&id=e2365566&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.tag-item[data-v-e2365566] {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  margin: 2px;
  border: 2px solid #e0e0e0;
  border-radius: 14px;
  background-color: white;
  cursor: pointer;
  transition: all 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-size: 11px;
  line-height: 1.2;
  box-sizing: border-box;
}
.tag-item[data-v-e2365566]:hover {
  border-color: #4a90e2;
  background-color: #f0f7ff;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(74, 144, 226, 0.15);
}
.tag-item.selected[data-v-e2365566] {
  border-color: #4a90e2;
  background-color: #4a90e2;
  color: white;
  box-shadow: 0 2px 8px rgba(74, 144, 226, 0.3);
}
.tag-item.selected[data-v-e2365566]:hover {
  background-color: #357abd;
  border-color: #357abd;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.4);
}
.tag-text[data-v-e2365566] {
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/LocationPicker.vue?vue&type=style&index=0&id=3860bd53&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.location-picker[data-v-3860bd53] {
  width: 100%;
}
.location-input-wrapper[data-v-3860bd53] {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
}
.location-type-select[data-v-3860bd53] {
  width: 120px;
  flex-shrink: 0;
  padding: 8px 12px;
  padding-right: 28px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 13px;
  background-color: white;
  color: #333;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27%3E%3Cpath fill=%27%23333%27 d=%27M6 9L1 4h10z%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  transition: border-color 0.2s;
}
.location-type-select[data-v-3860bd53]:hover {
  border-color: #4a90e2;
}
.location-type-select[data-v-3860bd53]:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}
.location-input[data-v-3860bd53] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 13px;
  background-color: white;
  color: #333;
  cursor: pointer;
  transition: border-color 0.2s;
}
.location-input[data-v-3860bd53]:hover {
  border-color: #4a90e2;
}
.location-input[data-v-3860bd53]:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}
.clear-location-btn[data-v-3860bd53],
.open-map-btn[data-v-3860bd53] {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
  flex-shrink: 0;
}
.clear-location-btn[data-v-3860bd53]:hover,
.open-map-btn[data-v-3860bd53]:hover {
  background-color: #f5f5f5;
  color: #333;
}
.open-map-btn[data-v-3860bd53] {
  color: #4a90e2;
}
.open-map-btn[data-v-3860bd53]:hover {
  background-color: #f0f7ff;
}

/* 地图模态框 */
.map-modal-overlay[data-v-3860bd53] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  backdrop-filter: blur(2px);
}
.map-modal[data-v-3860bd53] {
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  width: 90%;
  max-width: 800px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.map-modal-header[data-v-3860bd53] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e0e0e0;
}
.map-modal-header h3[data-v-3860bd53] {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  color: #333;
}
.close-btn[data-v-3860bd53] {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}
.close-btn[data-v-3860bd53]:hover {
  background-color: #f5f5f5;
  color: #333;
}
.map-modal-content[data-v-3860bd53] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
  position: relative;
}
.leaflet-map-container[data-v-3860bd53] {
  width: 100% !important;
  height: 400px !important;
  min-height: 400px !important;
  flex-shrink: 0;
  position: relative;
  background: #f8f9fa;
}

/* 确保Leaflet地图容器有正确的样式 */
.leaflet-map-container[data-v-3860bd53] .leaflet-container {
  width: 100% !important;
  height: 100% !important;
}
.radius-control[data-v-3860bd53] {
  padding: 16px 20px;
  border-top: 1px solid #f0f0f0;
  background-color: #fafafa;
}
.radius-label[data-v-3860bd53] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #333;
  margin-bottom: 12px;
}
.radius-label svg[data-v-3860bd53] {
  color: #4a90e2;
}
.radius-slider-container[data-v-3860bd53] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.radius-min[data-v-3860bd53],
.radius-max[data-v-3860bd53] {
  font-size: 12px;
  color: #666;
  min-width: 30px;
  text-align: center;
}
.radius-slider[data-v-3860bd53] {
  flex: 1;
  height: 6px;
  border-radius: 3px;
  background: #e0e0e0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.radius-slider[data-v-3860bd53]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #4a90e2;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.radius-slider[data-v-3860bd53]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #4a90e2;
  cursor: pointer;
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.radius-actions[data-v-3860bd53] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.radius-preset-btn[data-v-3860bd53] {
  padding: 4px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 16px;
  background: white;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  transition: all 0.2s;
}
.radius-preset-btn[data-v-3860bd53]:hover {
  border-color: #4a90e2;
  color: #4a90e2;
}
.radius-preset-btn.active[data-v-3860bd53] {
  background: #4a90e2;
  border-color: #4a90e2;
  color: white;
}
.coordinate-display[data-v-3860bd53] {
  display: flex;
  gap: 12px;
  padding: 12px 20px;
  border-top: 1px solid #f0f0f0;
  background-color: white;
}
.coordinate-item[data-v-3860bd53] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}
.coordinate-item label[data-v-3860bd53] {
  font-size: 12px;
  color: #666;
  min-width: 60px;
}
.coordinate-input[data-v-3860bd53] {
  flex: 1;
  padding: 6px 10px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 13px;
  transition: border-color 0.2s;
}
.coordinate-input[data-v-3860bd53]:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}
.map-modal-actions[data-v-3860bd53] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #e0e0e0;
  background-color: #fafafa;
}
.cancel-btn[data-v-3860bd53],
.confirm-btn[data-v-3860bd53] {
  padding: 8px 20px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.cancel-btn[data-v-3860bd53] {
  background: white;
  color: #666;
}
.cancel-btn[data-v-3860bd53]:hover {
  background-color: #f5f5f5;
  border-color: #ccc;
}
.confirm-btn[data-v-3860bd53] {
  background: #4a90e2;
  border-color: #4a90e2;
  color: white;
}
.confirm-btn[data-v-3860bd53]:hover {
  background: #357abd;
  border-color: #357abd;
}
.confirm-btn[data-v-3860bd53]:disabled {
  background: #ccc;
  border-color: #ccc;
  cursor: not-allowed;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/DataChat.vue?vue&type=style&index=0&id=66cd5d5c&scoped=true&lang=css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.data-chat-container[data-v-66cd5d5c] {
  width: 100%;
  height: calc(100vh - 96px);
  min-height: 600px;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  font-family: 'Microsoft YaHei', Arial, sans-serif;
  border: 1px solid #e0e0e0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.chat-messages[data-v-66cd5d5c] {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  scroll-behavior: smooth;
  min-height: 400px;
  max-height: calc(100vh - 200px);
}
.message[data-v-66cd5d5c] {
  margin-bottom: 16px;
}
.message-wrapper[data-v-66cd5d5c] {
  display: flex;
  gap: 12px;
}
.avatar[data-v-66cd5d5c] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.avatar img[data-v-66cd5d5c] {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
.message-content[data-v-66cd5d5c] {
  flex: 1;
}
.message-text[data-v-66cd5d5c] {
  padding: 12px 16px;
  border-radius: 12px;
  background-color: #f0f0f0;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  overflow-wrap: break-word;
  word-break: break-word;
}
.message-text.loading[data-v-66cd5d5c]::after {
  content: ".";
  animation: loadingDots-66cd5d5c 1.5s infinite;
}
@keyframes loadingDots-66cd5d5c {
0%, 20% { content: ".";
}
40% { content: "..";
}
60%, 100% { content: "...";
}
}
.user-message[data-v-66cd5d5c] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.user-message .message-text[data-v-66cd5d5c] {
  background-color: #007bff;
  color: white;
}
.replay-button[data-v-66cd5d5c] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: transparent;
  cursor: pointer;
  color: #888;
  transition: background-color 0.2s;
  flex-shrink: 0;
}
.replay-button[data-v-66cd5d5c]:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: #555;
}
.system-message .message-text[data-v-66cd5d5c],
.error-message .message-text[data-v-66cd5d5c] {
  text-align: center;
  max-width: 80%;
  margin: 0 auto;
  padding: 8px 16px;
  font-size: 13px;
  background-color: transparent;
  border: 1px solid #eee;
}
.system-message .message-text[data-v-66cd5d5c] {
  color: #666;
}
.error-message .message-text[data-v-66cd5d5c] {
  color: #e53935;
  border-color: #ffcdd2;
  background-color: #ffebee;
}
.loading-indicator[data-v-66cd5d5c] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background-color: #f5f5f5;
  border-radius: 16px;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 13px;
  color: #666;
  margin: 16px auto;
}
.loading-spinner[data-v-66cd5d5c] {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #767676;
  animation: spin-66cd5d5c 1s linear infinite;
}
@keyframes spin-66cd5d5c {
to {
    transform: rotate(360deg);
}
}
.search-results-section[data-v-66cd5d5c] {
  border-top: 1px solid #eee;
  padding: 16px;
  background-color: #f9f9f9;
  max-height: 50vh;
  overflow-y: auto;
}
.search-results-header[data-v-66cd5d5c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.search-results-header h3[data-v-66cd5d5c] {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  color: #333;
}
.close-results[data-v-66cd5d5c] {
  background: transparent;
  border: none;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  color: #777;
}
.close-results[data-v-66cd5d5c]:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: #555;
}
.chat-input-container[data-v-66cd5d5c] {
  padding: 16px;
  border-top: 1px solid #eee;
  background-color: white;
}
.input-wrapper[data-v-66cd5d5c] {
  display: flex;
  align-items: flex-end;
  background-color: #f5f5f5;
  border-radius: 24px;
  padding: 8px 16px;
  transition: background-color 0.2s;
}
.input-wrapper[data-v-66cd5d5c]:focus-within {
  background-color: #f0f0f0;
}
.chat-input[data-v-66cd5d5c] {
  flex: 1;
  border: none;
  background: transparent;
  outline: none;
  font-size: 14px;
  resize: none;
  padding: 8px 0;
  max-height: 120px;
  font-family: inherit;
}
.send-button[data-v-66cd5d5c] {
  background: transparent;
  border: none;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  color: #007bff;
  transition: background-color 0.2s;
  margin-left: 8px;
  padding: 0;
}
.send-button[data-v-66cd5d5c]:hover:not(:disabled) {
  background-color: rgba(0, 123, 255, 0.1);
}
.send-button[data-v-66cd5d5c]:disabled {
  color: #ccc;
  cursor: not-allowed;
}
.exit-button[data-v-66cd5d5c] {
  background: transparent;
  border: none;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  color: #666;
  transition: background-color 0.2s;
  margin-left: 8px;
  padding: 0;
}
.exit-button[data-v-66cd5d5c]:hover {
  background-color: rgba(0, 0, 0, 0.1);
  color: #ff5252;
}

/* 为Markdown内容添加样式 */
.message-text[data-v-66cd5d5c] h1 {
  font-size: 18px;
  font-weight: 600;
  margin-top: 16px;
  margin-bottom: 8px;
}
.message-text[data-v-66cd5d5c] h2 {
  font-size: 16px;
  font-weight: 600;
  margin-top: 16px;
  margin-bottom: 8px;
}
.message-text[data-v-66cd5d5c] h3 {
  font-size: 15px;
  font-weight: 600;
  margin-top: 12px;
  margin-bottom: 8px;
}
.message-text[data-v-66cd5d5c] p {
  margin: 8px 0;
}
.message-text[data-v-66cd5d5c] ul,
.message-text[data-v-66cd5d5c] ol {
  margin: 8px 0;
  padding-left: 24px;
}
.message-text[data-v-66cd5d5c] li {
  margin-bottom: 4px;
}
.message-text[data-v-66cd5d5c] code {
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 3px;
  padding: 2px 4px;
  font-family: 'Courier New', Courier, monospace;
  font-size: 13px;
}
.message-text[data-v-66cd5d5c] pre {
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  padding: 12px;
  overflow-x: auto;
  margin: 12px 0;
}
.message-text[data-v-66cd5d5c] pre code {
  background-color: transparent;
  padding: 0;
}
.message-text[data-v-66cd5d5c] blockquote {
  border-left: 4px solid #ddd;
  padding-left: 16px;
  margin: 16px 0;
  color: #555;
}
.message-text[data-v-66cd5d5c] table {
  border-collapse: collapse;
  width: 100%;
  margin: 16px 0;
}
.message-text[data-v-66cd5d5c] th,
.message-text[data-v-66cd5d5c] td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}
.message-text[data-v-66cd5d5c] th {
  background-color: #f5f5f5;
}
.message-text[data-v-66cd5d5c] a {
  color: #007bff;
  text-decoration: none;
}
.message-text[data-v-66cd5d5c] a:hover {
  text-decoration: underline;
}
.message-text[data-v-66cd5d5c] img {
  max-width: 100%;
  border-radius: 8px;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/Subscribe.vue?vue&type=style&index=0&id=abca2100&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.subscribe-root[data-v-abca2100] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.files-header[data-v-abca2100],.files-nav[data-v-abca2100] {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
  height: 24px;
}
.arrow[data-v-abca2100] {
  font-size: 18px;
}
.favicon-icon[data-v-abca2100] {
  width: 16px;
  height: 16px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 4px;
}
.content-container[data-v-abca2100] {
  width: 100%;
  height: 100%; /* 使用父容器高度 */
  background-color: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0; /* 允许缩小 */
}
.content-wrapper[data-v-abca2100] {
  width: calc(100% - 32px);
  margin: 0 auto;
  padding: 16px 16px;
  background-color: #f8f8f8;
  height: 100%; /* 使用父容器高度 */
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0; /* 允许缩小 */
}
.page-layout[data-v-abca2100] {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  height: 100%; /* 使用父容器高度，不使用100vh */
  flex: 1; /* 占据剩余空间 */
  min-height: 0; /* 允许缩小 */
}
.files-container[data-v-abca2100] {
  width: 320px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  max-height: 100%;
}
.files-header[data-v-abca2100] {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
  height: 24px;
}
.back-button[data-v-abca2100] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
}
.create-sub-button[data-v-abca2100] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #333;
  cursor: pointer;
  padding: 6px 0;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.create-sub-button[data-v-abca2100]:hover {
  background-color: #f0f0f0;
}
.create-sub-button svg[data-v-abca2100] {
  color: #333;
}
.search-box[data-v-abca2100] {
  margin: 16px 8px 8px;
  position: relative;
  display: flex;
  gap: 8px;
  height: 32px;
}
.search-box input[data-v-abca2100] {
  flex: 1;
  padding: 8px 12px;
  border: none;
  background: #f5f5f5;
  border-radius: 8px;
  font-size: 14px;
}
.search-box .clear-button[data-v-abca2100] {
  position: absolute;
  right: 16px; /* 留出足够的空间给add-button */
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
}
.search-box .clear-button[data-v-abca2100]:hover {
  color: #666;
}

/* 标签面板样式 */
.tag-panel[data-v-abca2100] {
  margin: 8px;
  position: relative;
  overflow: visible;
}

/* 标签列表样式 */
.tag-list[data-v-abca2100] {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  align-items: center;
}

/* 添加标签按钮样式 */
.add-tag-button[data-v-abca2100] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 2px dashed #ccc;
  border-radius: 14px;
  background-color: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #666;
  margin: 4px;
  box-sizing: border-box;
  min-height: 24px; /* 确保最小高度 */
}
.add-tag-button[data-v-abca2100]:hover {
  border-color: #4a90e2;
  background-color: #f0f7ff;
  color: #4a90e2;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(74, 144, 226, 0.15);
}
.add-tag-button[data-v-abca2100]:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.15);
}
.add-tag-button svg[data-v-abca2100] {
  /* 移除旋转动画，保持静态 */
  transition: none;
}

/* 带文字的添加标签按钮样式 */
.add-tag-button.with-text[data-v-abca2100] {
  width: 100%; /* 占满整行 */
  height: 24px; /* 保持与普通按钮相同的高度 */
  padding: 3px 8px;
  gap: 4px;
  justify-content: center; /* 内容居中 */
}
.add-tag-text[data-v-abca2100] {
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  color: inherit;
}

/* 当下拉框打开时，给容器添加微妙的背景色 */
.tag-search-container[data-v-abca2100]:has(.tag-search-display.active) {
  background-color: rgba(74, 144, 226, 0.03);
}
.tag-search-display[data-v-abca2100] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 12px;
  border: 2px solid #ddd;
  border-radius: 8px;
  cursor: pointer;
  background-color: white;
  transition: all 0.2s ease;
  min-height: 32px;
  flex: 1;
  outline: none;
  position: relative;
}
.tag-search-display[data-v-abca2100]:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.15);
  outline: none;
}
.tag-search-display[data-v-abca2100]:hover {
  color: #666;
  border-color: #bbb;
}

/* 激活状态样式 */
.tag-search-display.active[data-v-abca2100] {
  border-color: #4a90e2;
  background-color: #f8fbff;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}
.tag-search-display.active .placeholder[data-v-abca2100] {
  color: #4a90e2;
  font-weight: 500;
}
.tag-search-display.active .selected-tags-text[data-v-abca2100] {
  color: #4a90e2;
}

/* 添加激活状态指示器 */
.tag-search-display.active[data-v-abca2100]::before {
  content: '';
  position: absolute;
  top: -2px;
  right: -2px;
  width: 6px;
  height: 6px;
  background-color: #4a90e2;
  border-radius: 50%;
  border: 2px solid white;
}
.placeholder[data-v-abca2100] {
  color: #666;
}
.selected-tags-text[data-v-abca2100] {
  color: #333;
}
.selected-tags-display[data-v-abca2100] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  flex: 1;
  align-items: center;
}
.selected-tag-item[data-v-abca2100] {
  background:  #f5f5f5;
  color: #555;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
}
.dropdown-arrow[data-v-abca2100] {
  color: #666;
  transition: transform 0.2s ease;
  transform-origin: center;
}

/* 箭头旋转动画 */
.dropdown-arrow.rotated[data-v-abca2100] {
  transform: rotate(180deg);
  color: #4a90e2;
}
.tag-search-dropdown[data-v-abca2100] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  background: white;
  border: 1px solid #4a90e2;
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.15);
  z-index: 1000;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  animation: slideDown-abca2100 0.2s ease-out;
  box-sizing: border-box;
}
@keyframes slideDown-abca2100 {
from {
    opacity: 0;
    transform: translateY(-5px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.tag-search-options[data-v-abca2100] {
  max-height: 200px;
  overflow-y: auto;
  outline: none;
}
.tag-search-options[data-v-abca2100]:focus {
  outline: none;
}
.tag-search-option[data-v-abca2100] {
  display: flex;
  align-items: center;
  padding: 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.tag-search-option[data-v-abca2100]:hover {
  background-color: #f5f5f5;
}
.tag-search-option[data-v-abca2100]:active {
  background-color: #e0e0e0;
}

/* 键盘导航焦点样式 */
.tag-search-option[data-v-abca2100]:focus {
  outline: none;
  background-color: #f0f0f0;
}

/* 为第一个和最后一个选项添加圆角 */
.tag-search-options .tag-search-option[data-v-abca2100]:first-child {
  border-radius: 8px 8px 0 0;
}
.tag-search-options .tag-search-option[data-v-abca2100]:last-child {
  border-radius: 0 0 8px 8px;
}
.checkbox[data-v-abca2100] {
  width: 16px;
  height: 16px;
  border: 2px solid #ddd;
  border-radius: 3px;
  margin-right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
}
.checkbox svg[data-v-abca2100] {
  color: #4a90e2;
}
.option-text[data-v-abca2100] {
  font-size: 14px;
  color: #333;
}
.clear-tags-button[data-v-abca2100] {
  width: 24px;
  height: 24px;
  border: none;
  background: #f5f5f5;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: all 0.2s;
}
.clear-tags-button[data-v-abca2100]:hover {
  background: #e0e0e0;
  color: #333;
}
.tag-settings-button[data-v-abca2100] {
  width: 24px;
  height: 24px;
  border: none;
  background: #f5f5f5;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: all 0.2s;
}
.tag-settings-button[data-v-abca2100]:hover {
  background: #e0e0e0;
  color: #333;
}
.add-button[data-v-abca2100] {
  width: 32px;
  height: 32px;
  border: none;
  background: #f5f5f5;
  border-radius: 8px;
  font-size: 20px;
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ai-hint[data-v-abca2100] {
  margin: 16px;
  padding: 12px;
  background: #f5f5f5;
  border-radius: 8px;
  font-size: 13px;
  color: #666;
}
.icon-container[data-v-abca2100] {
  width: 36px;
  height: 36px;
  background-color: #f5f5f5;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.file-icon[data-v-abca2100] {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: white;
  padding: 2px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.circle-icon[data-v-abca2100] {
  background: #fff3f7;
}
.palette-icon[data-v-abca2100] {
  background: #fce4ec;
}
.grid-icon[data-v-abca2100] {
  background: #e3f2fd;
}
.file-wrapper[data-v-abca2100] {
  margin-bottom: 8px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}
.file-item[data-v-abca2100] {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* 添加tooltip样式 */
/* .file-item:hover::after {
  content: attr(title);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.95);
  color: white;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  white-space: nowrap;
  z-index: 99999;
  pointer-events: none;
  opacity: 0;
  animation: fadeIn 0.3s ease-in-out forwards;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  margin-bottom: 8px;
  min-width: 120px;
  text-align: center;
  font-weight: 500;
}

.file-item:hover::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.95);
  z-index: 99999;
  pointer-events: none;
  opacity: 0;
  animation: fadeIn 0.3s ease-in-out forwards;
  margin-bottom: 3px;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
} */
.file-info[data-v-abca2100] {
  flex: 1;
}
.file-actions[data-v-abca2100] {
  display: flex;
  align-items: center;
  padding: 8px;
}
.settings-btn[data-v-abca2100] {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: 4px;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.file-title[data-v-abca2100] {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}
.file-date[data-v-abca2100] {
  font-size: 11px;
  color: #999;
  margin-top: 2px;
}
.file-tags-display[data-v-abca2100] {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.file-display-tag[data-v-abca2100] {
  display: inline-block;
  padding: 2px 6px;
  background: #f5f5f5;
  border: 1px solid #f5f5f5;
  border-radius: 10px;
  font-size: 10px;
  color: #555;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-display-tag.more-tags[data-v-abca2100] {
  background-color: #f5f5f5;
  border-color: #d9d9d9;
  color: #666;
  cursor: help;
}
.subs-container[data-v-abca2100] {
  flex: 1;
  height: 100%; /* 使用父容器高度，不使用100vh */
  min-height: 0; /* 允许缩小 */
  position: relative;
  display: flex;
  flex-direction: column;
  overflow-x: hidden; /* 水平方向隐藏溢出 */
  overflow-y: auto; /* 垂直方向允许滚动 */
  scroll-behavior: smooth;
  max-height: 100%;
  /* 允许重置按钮在顶部溢出显示 */
  padding-top: 6px; /* 为重置按钮留出空间 */
  margin-top: -6px; /* 抵消 padding-top，保持布局不变 */
}

/* 添加DataChat包装样式 */
.subs-container > data-chat[data-v-abca2100] {
  height: 100%;
  min-height: 0; /* 使用相对高度，不使用100vh */
  display: flex;
  flex: 1;
}
.sub-search[data-v-abca2100] {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  height: 42px;
  flex-shrink: 0;
  overflow: visible; /* 允许重置按钮溢出显示 */
  position: relative; /* 为重置按钮提供定位上下文 */
  z-index: 12; /* 确保重置按钮的层叠上下文在 filter-select-container (z-index: 11) 之上 */
}
.search-input-wrapper[data-v-abca2100] {
  flex: 1;
  position: relative;
  display: flex;
  overflow: visible; /* 允许重置按钮溢出显示 */
}
.filter-wrapper[data-v-abca2100] {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  z-index: 10; /* 提高 z-index，确保在 input 框之上 */
  padding-left: 12px;
  height: 100%;
  max-height: 100%;
  box-sizing: border-box;
  overflow: visible; /* 允许重置按钮溢出显示 */
}

/* 一级筛选下拉选择框容器 */
.filter-select-container[data-v-abca2100] {
  position: relative;
  height: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  overflow: visible; /* 允许重置按钮溢出显示 */
  z-index: 11; /* 确保容器在 input 框之上 */
}

/* 一级筛选按钮 */
.filter-select-button[data-v-abca2100] {
  padding: 0 8px;
  margin: 0;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 13px;
  background-color: rgba(255, 255, 255, 0.9); /* 添加半透明背景，确保可见 */
  color: #666;
  cursor: pointer;
  height: calc(100% - 8px);
  max-height: calc(100% - 8px);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  white-space: nowrap;
  min-width: 70px;
  max-width: 200px; /* 设置最大宽度，避免过长 */
  box-sizing: border-box;
  line-height: 1;
  vertical-align: middle;
  position: relative;
  overflow: hidden; /* 防止内容溢出 */
  z-index: 11; /* 确保按钮在 input 框之上，并且可以点击 */
  pointer-events: auto; /* 确保可以点击 */
}
.filter-select-button[data-v-abca2100]:hover {
  background-color: #f8f9fa;
  color: #333;
  border-color: #e9ecef;
}
.filter-select-button.active[data-v-abca2100] {
  background-color: #f0f7ff;
  color: #4a90e2;
  font-weight: 500;
  border: 1px solid #b3d9f5;
  box-shadow: 0 1px 2px rgba(74, 144, 226, 0.08);
}
.filter-select-button.active[data-v-abca2100]:hover {
  background-color: #e6f3ff;
  border-color: #99c9f0;
  box-shadow: 0 1px 3px rgba(74, 144, 226, 0.12);
}
.filter-select-button svg[data-v-abca2100] {
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
  width: 10px;
  height: 10px;
}
.filter-select-button span[data-v-abca2100] {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  flex-shrink: 1;
}

/* 重置按钮（位于筛选按钮右上角，相对于 subs-container 定位，放在最顶层，避免被级联菜单遮挡） */
.filter-reset-button[data-v-abca2100] {
  position: absolute;
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 0;
  border: 2px solid white;
  background: linear-gradient(135deg, #ff4d4f 0%, #ff7875 100%);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
  z-index: 10000; /* 设置非常高的 z-index，确保在所有搜索相关元素之上（级联菜单1001，标签下拉1000等） */
  box-shadow: 0 2px 6px rgba(255, 77, 79, 0.3), 0 0 0 0 rgba(255, 77, 79, 0.1);
  backdrop-filter: blur(4px);
  pointer-events: auto; /* 确保可以点击 */
  /* left 和 top 位置通过 :style 动态设置，相对于 subs-container 计算 */
}
.filter-reset-button[data-v-abca2100]:hover {
  background: linear-gradient(135deg, #ff7875 0%, #ff9c9e 100%);
  transform: scale(1.2) translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 77, 79, 0.4), 0 0 0 4px rgba(255, 77, 79, 0.1);
  border-color: #fff;
}
.filter-reset-button[data-v-abca2100]:active {
  transform: scale(1.05) translateY(0);
  box-shadow: 0 2px 4px rgba(255, 77, 79, 0.3);
}
.filter-reset-button svg[data-v-abca2100] {
  width: 9px;
  height: 9px;
  display: block;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1));
}

/* 级联筛选菜单容器 */
.cascading-filter-menu[data-v-abca2100] {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  display: flex;
  min-width: 450px;
  max-width: 600px;
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 1001;
  animation: slideDown-abca2100 0.2s ease-out;
  overflow: hidden;
  max-height: 500px;
  transition: min-width 0.3s ease, max-width 0.3s ease;
}

/* 当没有二级面板时，菜单宽度自适应左侧菜单 */
.cascading-filter-menu.no-secondary-panel[data-v-abca2100] {
  min-width: 160px;
  max-width: 160px;
}

/* 一级筛选菜单（左侧） */
.primary-filter-list[data-v-abca2100] {
  width: 160px;
  min-width: 160px;
  border-right: 1px solid #e0e0e0;
  background-color: #fafafa;
  overflow-y: auto;
  overflow-x: hidden;
  flex-shrink: 0;
  transition: border-right-color 0.3s ease;
}

/* 当没有二级面板时，移除右边框 */
.primary-filter-list.no-border-right[data-v-abca2100] {
  border-right: none;
}

/* 优化滚动条样式 */
.primary-filter-list[data-v-abca2100]::-webkit-scrollbar {
  width: 6px;
}
.primary-filter-list[data-v-abca2100]::-webkit-scrollbar-track {
  background: #f5f5f5;
}
.primary-filter-list[data-v-abca2100]::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}
.primary-filter-list[data-v-abca2100]::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.primary-filter-item[data-v-abca2100] {
  padding: 10px 14px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  border-left: 3px solid transparent;
  min-width: 0; /* 允许 flex 子元素收缩 */
}
.primary-filter-label[data-v-abca2100] {
  flex: 1;
  min-width: 0; /* 允许文字截断 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.primary-filter-item[data-v-abca2100]:hover {
  background-color: #f0f0f0;
}
.primary-filter-item.active[data-v-abca2100] {
  background-color: #f0f7ff;
  color: #4a90e2;
  font-weight: 500;
  border-left-color: #4a90e2;
}
.primary-filter-item[data-v-abca2100]:active {
  background-color: #e6f3ff;
}

/* 二级筛选面板（右侧） */
.secondary-filter-panel[data-v-abca2100] {
  flex: 1;
  min-width: 280px;
  display: flex;
  flex-direction: column;
  background: white;
  overflow: hidden;
}
.panel-header[data-v-abca2100] {
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  border-bottom: 1px solid #f0f0f0;
  background-color: #fafafa;
}
.panel-content[data-v-abca2100] {
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
  flex: 1;
}

/* 优化二级面板滚动条样式 */
.panel-content[data-v-abca2100]::-webkit-scrollbar {
  width: 6px;
}
.panel-content[data-v-abca2100]::-webkit-scrollbar-track {
  background: #f5f5f5;
}
.panel-content[data-v-abca2100]::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}
.panel-content[data-v-abca2100]::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.filter-item[data-v-abca2100] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.filter-item label[data-v-abca2100] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
}
.panel-filter-select[data-v-abca2100] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 13px;
  background-color: white;
  color: #333;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27%3E%3Cpath fill=%27%23333%27 d=%27M6 9L1 4h10z%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  transition: border-color 0.2s;
}
.panel-filter-select[data-v-abca2100]:hover {
  border-color: #4a90e2;
}
.panel-filter-select[data-v-abca2100]:focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}

/* Element Plus 日期范围选择器样式优化，使其与二级筛选面板的其他选择器保持一致 */
.event-date-range-picker[data-v-abca2100] {
  width: 100%;
}
.event-date-range-picker[data-v-abca2100] .el-input__wrapper {
  padding: 8px 12px;
  border-radius: 6px;
  box-shadow: 0 0 0 1px #e0e0e0 inset;
  transition: border-color 0.2s;
}
.event-date-range-picker[data-v-abca2100] .el-input__wrapper:hover {
  box-shadow: 0 0 0 1px #4a90e2 inset;
}
.event-date-range-picker[data-v-abca2100] .el-input.is-focus .el-input__wrapper {
  box-shadow: 0 0 0 1px #4a90e2 inset, 0 0 0 3px rgba(74, 144, 226, 0.1);
}
.event-date-range-picker[data-v-abca2100] .el-input__inner {
  font-size: 13px;
  color: #333;
  height: auto;
  line-height: 1.5;
}
.event-date-range-picker[data-v-abca2100] .el-range-separator {
  color: #999;
  font-size: 13px;
}
.filter-divider[data-v-abca2100] {
  width: 1px;
  height: 20px;
  background-color: #e0e0e0;
  margin-left: 8px;
  margin-right: 4px;
  transition: background-color 0.2s;
}
.search-input-wrapper:focus-within .filter-divider[data-v-abca2100] {
  background-color: #4a90e2;
}
@keyframes slideDown-abca2100 {
from {
    opacity: 0;
    transform: translateY(-5px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.search-input-wrapper input[data-v-abca2100] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.2s;
  position: relative; /* 确保 input 框有定位上下文 */
  z-index: 1; /* 设置较低的 z-index，确保重置按钮在上层 */
}
.search-input-wrapper input[data-v-abca2100]:focus {
  border-color: #4a90e2;
}
.search-input-wrapper input.search-input-with-filter[data-v-abca2100] {
  /* padding-left 通过 :style 动态设置，确保最小值为 100px（在 JS 中处理） */
}
.input-controls[data-v-abca2100] {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 2; /* 设置较低的 z-index，确保重置按钮在上层 */
}
.clear-button[data-v-abca2100],
.search-button[data-v-abca2100],
.qa-button[data-v-abca2100] {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #666;
  padding: 0;
}
.clear-button[data-v-abca2100]:hover,
.search-button[data-v-abca2100]:hover,
.qa-button[data-v-abca2100]:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.clear-button[data-v-abca2100] {
  margin-right: -4px;
}
.filter-tabs-container[data-v-abca2100] {
  display: flex;
  gap: 64px; /* 两个标签组之间的间隔 */
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0e0e0;
  height: 36px;
  flex-shrink: 0;
}
.category-tabs[data-v-abca2100] {
  display: flex;
  gap: 8px;
  margin-bottom: 0; /* 修改margin，因为现在外层容器会提供margin */
  padding-bottom: 0; /* 移除padding，因为现在外层容器会提供padding */
  border-bottom: none; /* 移除边框，因为现在外层容器会提供边框 */
}
.tab-button[data-v-abca2100] {
  padding: 6px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 16px;
  background: white;
  font-size: 13px;
  cursor: pointer;
  color: #666;
  display: flex;
  align-items: center;
  gap: 4px;
}
.tab-button svg[data-v-abca2100] {
  width: 16px;
  height: 16px;
}
.tab-button.active[data-v-abca2100] {
  background: #0f0f0f;
  color: white;
  border-color: #0f0f0f;
}
.tab-button.active svg[data-v-abca2100] {
  color: white;
}
.sub-list-wrapper[data-v-abca2100] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}
.sub-list[data-v-abca2100] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 24px 24px;
  position: relative;
  padding-bottom: 40px; /* 为底部加载指示器留出空间 */
  width: 100%;
  box-sizing: border-box;
}
.sub-card[data-v-abca2100] {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  padding: 6px;
  position: relative;
  overflow: visible;
  max-width: 100%;
  box-sizing: border-box;
}

/* .sub-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
} */
.sub-thumbnail[data-v-abca2100] {
  position: relative;
  aspect-ratio: 16/10;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 12px;
  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.1);
  background-color: white;
  max-width: 100%;
  box-sizing: border-box;
}
.sub-thumbnail img[data-v-abca2100] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sub-duration[data-v-abca2100] {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 2px 4px;
  border-radius: 4px;
  font-size: 12px;
}
.sub-info[data-v-abca2100] {
  padding: 0 4px;
}
.sub-title[data-v-abca2100] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sub-meta[data-v-abca2100] {
  font-size: 12px;
  color: #666;
}
.channel-info[data-v-abca2100] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.sub-stats {
&[data-v-abca2100] {
  display: flex;
  gap: 4px;
  }
.sub-stats-name[data-v-abca2100] {
    max-width: 280px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: calc(100% - 80px);
}
}
.sub-stats span[data-v-abca2100]:not(:last-child):after {
  content: '•';
  margin-left: 4px;
}

/* 调整原有的 icon-container 和 file-icon 样式以适应新的布局 */
.channel-info .icon-container[data-v-abca2100] {
  width: 24px;
  height: 24px;
}
.channel-info .file-icon[data-v-abca2100] {
  width: 16px;
  height: 16px;
}
.carousel-container[data-v-abca2100] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
  max-width: 100%;
  max-height: 100%;
  box-sizing: border-box;
}
.carousel-item[data-v-abca2100] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 0.5s ease;
}

/* 修改幻灯片切换动画 */
.carousel-item-enter-active[data-v-abca2100] {
  transform: translateX(100%);
  animation: slide-in-abca2100 0.5s forwards;
}
.carousel-item-leave-active[data-v-abca2100] {
  animation: slide-out-abca2100 0.5s forwards;
}
@keyframes slide-in-abca2100 {
from {
    transform: translateX(100%);
}
to {
    transform: translateX(0);
}
}
@keyframes slide-out-abca2100 {
from {
    transform: translateX(0);
}
to {
    transform: translateX(-100%);
}
}

/* 任务进度容器样式 - 简约风格，契合页面整体设计 */
.task-progress-container[data-v-abca2100] {
  margin-top: 0;
  margin-bottom: 12px;
}
.task-progress-content[data-v-abca2100] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.task-progress-info[data-v-abca2100] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
}
.task-progress-status[data-v-abca2100] {
  color: #999;
  font-weight: 400;
}
.task-progress-percentage[data-v-abca2100] {
  color: #333;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.task-progress-bar[data-v-abca2100] {
  width: 100%;
  height: 3px;
  background-color: #f5f5f5;
  border-radius: 2px;
  overflow: hidden;
}
.task-progress-fill[data-v-abca2100] {
  height: 100%;
  border-radius: 2px;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.task-progress-fill.pending[data-v-abca2100] {
  background-color: #faad14;
}
.task-progress-fill.running[data-v-abca2100] {
  background-color: #1890ff;
}

/* 活动卡片样式 */
.activity-card[data-v-abca2100] {
  background: white;
  height: 100%;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
}
.activity-header[data-v-abca2100] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.activity-title[data-v-abca2100] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
}
.activity-icon[data-v-abca2100] {
  width: 20px;
  height: 20px;
}
.activity-more[data-v-abca2100] {
  color: #777;
  cursor: pointer;
}
.metrics-row[data-v-abca2100] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.activity-highlight[data-v-abca2100] {
  flex: 1;
}
.highlight-value[data-v-abca2100] {
  font-size: 16px;
  font-weight: 600;
  color: #4caf50;
  line-height: 1.2;
}
.highlight-label[data-v-abca2100] {
  font-size: 11px;
  color: #666;
  margin-top: 2px;
}
.activity-metrics[data-v-abca2100] {
  flex: 2;
  display: flex;
  gap: 24px;
}
.metric[data-v-abca2100] {
  flex: 1;
}
.metric-value[data-v-abca2100] {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  line-height: 1.2;
}
.metric-label[data-v-abca2100] {
  font-size: 11px;
  color: #666;
  margin-top: 2px;
}
.activity-chart[data-v-abca2100] {
  height: 120px;
  display: flex;
  margin-bottom: 12px;
  position: relative;
  overflow: visible;
  max-height: 100%;
}
.y-axis-labels[data-v-abca2100] {
  min-width: 32px;
  text-align: right;
}
.y-label[data-v-abca2100] {
  font-size: 10px;
  color: #999;
  padding-right: 8px;
}
.chart-content[data-v-abca2100] {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: visible;
  max-height: 100%;
}
.chart-bars[data-v-abca2100] {
  flex: 1;
  display: flex;
  align-items: flex-end;
  gap: 6px;
  margin-bottom: 24px;
  padding: 0 4px;
  justify-content: center; /* 居中显示所有柱子 */
}
.chart-bar[data-v-abca2100] {
  background-color: #4caf50;
  border-radius: 2px 2px 0 0;
  min-height: 1px;
  position: relative;
}
.bar-label[data-v-abca2100] {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  color: #999;
  white-space: nowrap;
}

/* 移除旧的样式 */
.chart-labels[data-v-abca2100] {
  display: none;
}

/* 分类标签 */
.activity-categories[data-v-abca2100] {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  margin-bottom: 12px;
  padding: 8px 0;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
}
.category-item[data-v-abca2100] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.category-dot[data-v-abca2100] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.working[data-v-abca2100] {
  background-color: #ffc107;
}
.reviewing[data-v-abca2100] {
  background-color: #2196f3;
}
.approved[data-v-abca2100] {
  background-color: #4caf50;
}
.category-name[data-v-abca2100] {
  font-size: 10px;
  color: #666;
}

/* 底部数据 */
.activity-footer[data-v-abca2100] {
  display: flex;
  justify-content: space-between;
}
.footer-item[data-v-abca2100] {
  display: flex;
  flex-direction: column;
}
.footer-value[data-v-abca2100] {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.unit[data-v-abca2100] {
  font-size: 10px;
  font-weight: normal;
  color: #666;
  margin-left: 2px;
}
.footer-label[data-v-abca2100] {
  font-size: 10px;
  color: #666;
}

/* 摘要幻灯片样式 */
.summary-slide[data-v-abca2100] {
  padding: 16px;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: white;
  height: 100%;
}
.summary-header[data-v-abca2100] {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 16px;
  color: #333;
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
}
.summary-content[data-v-abca2100] {
  display: flex;
  flex-direction: column;
  /* overflow-y: hidden; */
  height: calc(100% - 24px);
  overflow-x: hidden;
}
.markdown-content[data-v-abca2100] {
  font-size: 12px;
  line-height: 1.6;
}

/* 添加markdown表格样式 */
.markdown-content[data-v-abca2100] table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 16px;
  border: 1px solid #e0e0e0;
}
.markdown-content[data-v-abca2100] th,
.markdown-content[data-v-abca2100] td {
  padding: 8px 12px;
  text-align: left;
  border: 1px solid #e0e0e0;
  font-size: 11px;
}
.markdown-content[data-v-abca2100] th {
  background-color: #f5f5f5;
  font-weight: 500;
}
.markdown-content[data-v-abca2100] tr:nth-child(even) {
  background-color: #f9f9f9;
}
.markdown-content[data-v-abca2100] tr:hover {
  background-color: #f2f2f2;
}
.markdown-content[data-v-abca2100] h1 {
  font-size: 12px;
  font-weight: 600;
  color: #333;
  margin: 0 0 8px 0;
  border-left-width: 3px !important;
  border-left-style: solid !important;
  padding-left: 8px;
  border-left-color: orangered !important;
}
.markdown-content[data-v-abca2100] h2 {
  font-size: 12px;
  font-weight: bold;
  unicode-bidi: isolate;
}
.markdown-content[data-v-abca2100] ul {
  margin: 0 0 16px 0;
  padding-left: 16px;
}
.markdown-content[data-v-abca2100] li {
  color: #666;
  margin-bottom: 4px;
}
.markdown-content[data-v-abca2100] li:last-child {
  margin-bottom: 0;
}
.markdown-content[data-v-abca2100] a {
  color: #1366ec;
}

/* 折线图样式优化 */
.line-chart[data-v-abca2100] {
  position: relative;
  height: 100%;
  width: 100%;
  padding-bottom: 16px;
  max-height: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.chart-line[data-v-abca2100] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 16px);
  max-width: 100%;
  max-height: 100%;
  box-sizing: border-box;
}
.chart-line path[data-v-abca2100] {
  fill: none;
  stroke: #2196f3;
  stroke-width: 2;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: drawLineLeftToRight-abca2100 1.2s ease-out forwards;
  animation-delay: calc(0.4s + var(--dot-index, 0) * 0.08s);
}
@keyframes drawLineLeftToRight-abca2100 {
0% {
    stroke-dashoffset: 1000;
}
100% {
    stroke-dashoffset: 0;
}
}
.chart-dots[data-v-abca2100] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 16px);
  max-width: 100%;
  max-height: 100%;
  box-sizing: border-box;
}
.chart-dot[data-v-abca2100] {
  position: absolute;
  width: 6px;
  height: 6px;
  background: #2196f3;
  border-radius: 50%;
  border: 2px solid #fff;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  opacity: 0;
  animation: fadeInDots-abca2100 0.5s ease-out forwards;
  animation-delay: calc(0.7s + var(--dot-index, 0) * 0.08s);
}
@keyframes fadeInDots-abca2100 {
from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
}
to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
}
.loading-container[data-v-abca2100] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  padding: 30px 40px;
  /* background-color: rgba(255, 255, 255, 0.9); */
  /* border-radius: 12px; */
  /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); */
  z-index: 100;
  text-align: center;
  max-width: calc(100% - 80px);
  max-height: calc(100% - 80px);
  box-sizing: border-box;
}
.loading-container p[data-v-abca2100] {
  font-size: 14px;
  color: #333;
  margin-top: 10px;
  font-weight: 500;
}
.loader-ring[data-v-abca2100] {
  width: 40px;
  height: 40px;
  position: relative;
  margin-bottom: 10px;
}
.loader-ring div[data-v-abca2100] {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 4px solid #888;
  border-radius: 50%;
  animation: spin-abca2100 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #888 transparent transparent transparent;
}
.loader-ring div[data-v-abca2100]:nth-child(1) {
  animation-delay: -0.4s;
}
.loader-ring div[data-v-abca2100]:nth-child(2) {
  animation-delay: -0.2s;
}
.loader-ring div[data-v-abca2100]:nth-child(3) {
  animation-delay: 0s;
}
@keyframes spin-abca2100 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.no-data[data-v-abca2100],
.load-all[data-v-abca2100] {
  width: 100%;
  text-align: center;
  padding: 30px 0;
  color: #6b7280;
  font-size: 16px;
}
.empty-state[data-v-abca2100] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  width: 100%;
  /* background-color: rgba(255, 255, 255, 0.7); */
  /* border-radius: 8px; */
  /* border: 1px dashed #ddd; */
}
.empty-state p[data-v-abca2100] {
  font-size: 14px;
  color: #888;
}
.loading-more[data-v-abca2100] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 20px auto;
  padding: 10px 20px;
  /* background-color: rgba(255, 255, 255, 0.8); */
  /* border-radius: 20px; */
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); */
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.loading-more p[data-v-abca2100] {
  font-size: 12px;
  color: #555;
  margin-top: 6px;
}
.loader-ring.small[data-v-abca2100] {
  width: 20px;
  height: 20px;
  margin-bottom: 6px;
}
.loader-ring.small div[data-v-abca2100] {
  border-width: 2px;
}
.files-pagination[data-v-abca2100] {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 16px 0;
  padding: 0 16px;
  gap: 8px;
  height: 32px;
}
.pagination-button[data-v-abca2100] {
  width: 32px;
  height: 32px;
  border: 1px solid #e0e0e0;
  background: white;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #555;
  transition: all 0.2s ease;
}
.pagination-button[data-v-abca2100]:hover:not(:disabled) {
  background-color: #f5f5f5;
  border-color: #ccc;
}
.pagination-button[data-v-abca2100]:disabled {
  color: #ccc;
  cursor: not-allowed;
}
.page-info[data-v-abca2100] {
  margin: 0 8px;
  font-size: 12px;
  color: #666;
}
.page-numbers[data-v-abca2100] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.page-number[data-v-abca2100] {
  min-width: 32px;
  height: 32px;
  border: 1px solid #e0e0e0;
  background: white;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 13px;
  color: #555;
  transition: all 0.2s ease;
}
.page-number[data-v-abca2100]:hover {
  background-color: #f5f5f5;
  border-color: #ccc;
}
.page-number.active[data-v-abca2100] {
  background-color: #0f0f0f;
  color: white;
  border-color: #0f0f0f;
  font-weight: 500;
}
.page-ellipsis[data-v-abca2100] {
  display: inline-block;
  height: 32px;
  line-height: 32px;
  color: #999;
  font-size: 14px;
  text-align: center;
  margin: 0 4px;
}
.files-loading[data-v-abca2100] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
}
.files-loading p[data-v-abca2100] {
  font-size: 12px;
  color: #888;
  margin-top: 8px;
}

/* files-list容器样式 */
.files-list-container[data-v-abca2100] {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-height: 100%;
}

/* 加载遮罩层样式 */
.files-loading-overlay[data-v-abca2100] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(2px);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* files-list样式 */
.files-list[data-v-abca2100] {
  padding: 0 16px;
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
  max-height: 100%;
}

/* 标签样式 */
.sub-tags[data-v-abca2100] {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.tag[data-v-abca2100] {
  display: inline-block;
  padding: 2px 8px 2px 6px;
  border-radius: 12px;
  font-size: 11px;
  /* font-weight: 500; */
  color: white;
  height: 18px;
  line-height: 18px;
  min-width: 36px;
  text-align: center;
  font-family: 'Microsoft Yahei';
  display: flex;
  align-items: center;
  gap: 4px;
}
.tag svg[data-v-abca2100] {
  width: 12px;
  height: 12px;
}
.tag-data-type[data-v-abca2100] {
  background-color: #4caf50;
}
.tag-schedule[data-v-abca2100] {
  display: inline-block;
  padding: 2px 8px 2px 6px;
  border-radius: 12px;
  font-size: 11px;
  color: white;
  height: 18px;
  line-height: 18px;
  min-width: 36px;
  text-align: center;
  font-family: 'Microsoft Yahei';
  display: flex;
  align-items: center;
  gap: 4px;
  background-color: #0072c6;
}
.tag-schedule svg[data-v-abca2100] {
  width: 12px;
  height: 12px;
}
.tag-error[data-v-abca2100] {
  background-color: #f44336;
}
.file-tags[data-v-abca2100] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}
.file-info .tag[data-v-abca2100] {
  font-size: 10px;
  padding: 1px 6px 1px 4px;
  height: 16px;
  line-height: 16px;
}
.file-info .tag svg[data-v-abca2100] {
  width: 10px;
  height: 10px;
}
.file-meta-row[data-v-abca2100] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
}
.file-tags[data-v-abca2100] {
  display: flex;
  gap: 4px;
}
.file-tag[data-v-abca2100] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  background-color: #888;
}

/* 数据问答对话框样式 */
.data-chat-overlay[data-v-abca2100] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.data-chat-modal[data-v-abca2100] {
  width: 80%;
  max-width: 800px;
  height: 80%;
  max-height: 600px;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.data-chat-header[data-v-abca2100] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #eee;
}
.data-chat-header h3[data-v-abca2100] {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
}
.close-button[data-v-abca2100] {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #666;
  transition: background-color 0.2s;
}
.close-button[data-v-abca2100]:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.data-chat-content[data-v-abca2100] {
  flex: 1;
  overflow: hidden;
}

/* 无标签提示样式 */
.no-tags-message[data-v-abca2100] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  color: #999;
  text-align: center;
  gap: 8px;
}
.no-tags-message .no-tags-icon[data-v-abca2100] {
  opacity: 0.6;
}
.no-tags-message span[data-v-abca2100] {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;
}
.no-tags-message small[data-v-abca2100] {
  font-size: 11px;
  color: #999;
  margin-top: 4px;
}

/* 标签加载状态样式 */
.loading-tags-message[data-v-abca2100] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  color: #666;
  text-align: center;
  gap: 12px;
}
.loading-tags-message span[data-v-abca2100] {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;
}

/* 自定义加载动画 */
.loading-tags-message .loader-ring.small[data-v-abca2100] {
  width: 24px;
  height: 24px;
}
.loading-tags-message .loader-ring.small div[data-v-abca2100] {
  border-width: 2px;
  border-color: #4a90e2 transparent transparent transparent;
}

/* 无数据状态样式 */
.empty-state[data-v-abca2100] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
  min-height: 400px;
  height: 100%;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.empty-icon[data-v-abca2100] {
  margin-bottom: 16px;
  opacity: 0.6;
}
.empty-title[data-v-abca2100] {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  margin: 0 0 8px 0;
}
.empty-description[data-v-abca2100] {
  font-size: 14px;
  color: #666;
  margin: 0 0 20px 0;
  line-height: 1.5;
  max-width: 320px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.reset-button[data-v-abca2100] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background-color: transparent;
  color: #0f0f0f;
  border: 2px solid #0f0f0f;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.reset-button[data-v-abca2100]:hover {
  background-color: #0f0f0f;
  color: white;
  transform: translateY(-1px);
}
.reset-button[data-v-abca2100]:active {
  transform: translateY(0);
}
.reset-button svg[data-v-abca2100] {
  width: 16px;
  height: 16px;
}



/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/SetUpTagDialog.vue?vue&type=style&index=0&id=bbc929d6&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.add-tag-content-container[data-v-bbc929d6] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}
.tag-content-wrapper[data-v-bbc929d6] {
  background-color: white;
  border-radius: 12px;
  width: 520px;
  max-width: 90%;
  min-height: 400px; /* 设置最小高度，防止搜索无结果时弹窗突然变高 */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  animation: dialog-fade-in-bbc929d6 0.3s;
  display: flex;
  flex-direction: column;
}
.dialog-header[data-v-bbc929d6] {
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
}
.dialog-header h3[data-v-bbc929d6] {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
}
.close-button[data-v-bbc929d6] {
  background: transparent;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.close-button[data-v-bbc929d6]:hover {
  background-color: #f0f0f0;
}
.dialog-content[data-v-bbc929d6] {
  padding: 20px;
}

/* 轻量简约搜索栏 */
.search-bar[data-v-bbc929d6] {
  display: flex;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 20px;
  position: relative;
}
.search-bar[data-v-bbc929d6]:focus-within {
  border-bottom-color: #4a90e2;
}
.search-icon[data-v-bbc929d6] {
  color: #999;
  margin-right: 8px;
}
.search-input[data-v-bbc929d6] {
  flex: 1;
  border: none;
  outline: none;
  font-size: 14px;
  background: transparent;
  color: #333;
  padding: 0;
}
.clear-icon[data-v-bbc929d6] {
  color: #999;
  cursor: pointer;
  margin-left: 8px;
  transition: color 0.2s;
}
.clear-icon[data-v-bbc929d6]:hover {
  color: #666;
}

/* 标签容器 */
.tags-container[data-v-bbc929d6] {
  flex: 1; /* 占据剩余空间 */
  min-height: 200px; /* 设置最小高度，确保有足够空间显示内容 */
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.tags-grid[data-v-bbc929d6] {
  flex: 1; /* 占据剩余空间 */
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: flex-start; /* 标签从顶部开始排列 */
  padding: 4px 0; /* 添加一点内边距 */
}

/* 标签项基础样式 - 所有标签的共同样式 */
.tag-item[data-v-bbc929d6], .ghost-tag[data-v-bbc929d6] {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px; /* 增加内边距，让标签更大 */
  margin: 4px; /* 增加外边距 */
  border-radius: 18px; /* 稍微增加圆角 */
  cursor: pointer;
  transition: all 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-size: 14px; /* 增加字体大小 */
  font-weight: 500; /* 增加字体粗细 */
  line-height: 1.2;
  box-sizing: border-box;
  gap: 6px; /* 增加图标和文字间距 */
  min-height: 36px; /* 设置最小高度，确保点击区域足够大 */
}

/* 普通标签样式 */
.tag-item[data-v-bbc929d6] {
  border: 2px solid #e0e0e0;
  background-color: white;
}
.tag-item[data-v-bbc929d6]:hover {
  border-color: #4a90e2;
  background-color: #f0f7ff;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(74, 144, 226, 0.15);
}
.tag-item.selected[data-v-bbc929d6] {
  border-color: #4a90e2;
  background-color: #4a90e2;
  color: white;
  box-shadow: 0 2px 8px rgba(74, 144, 226, 0.3);
}
.tag-item.selected[data-v-bbc929d6]:hover {
  background-color: #357abd;
  border-color: #357abd;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.4);
}

/* 幽灵标签样式 - 独立的一套CSS */
.ghost-tag[data-v-bbc929d6] {
  border: 2px dashed #e0e0e0; /* 虚线边框，和普通标签一样的颜色 */
  background-color: white; /* 白色背景，和普通标签一样 */
  color: #333; /* 深色文字，和普通标签一样 */
  opacity: 0.6; /* 半透明效果 */
}
.ghost-tag[data-v-bbc929d6]:hover {
  border-color: #4a90e2; /* 悬停时蓝色边框，和普通标签一样 */
  background-color: #f0f7ff; /* 悬停时浅蓝色背景，和普通标签一样 */
  opacity: 0.8; /* 悬停时稍微不透明 */
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(74, 144, 226, 0.15); /* 蓝色阴影，和普通标签一样 */
}
.ghost-tag-selected[data-v-bbc929d6] {
  border-color: rgba(255, 255, 255, 0.3);
  background-color: #4a90e2;
  color: white;
  box-shadow: 0 2px 8px rgba(74, 144, 226, 0.3);
  opacity: 1;
}
.ghost-tag-selected[data-v-bbc929d6]:hover {
  border-color: rgba(255, 255, 255, 0.3);
  background-color: #357abd;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.4);
  opacity: 1;
}
.tag-icon[data-v-bbc929d6] {
  width: 16px; /* 增加图标大小 */
  height: 16px;
  flex-shrink: 0;
}
.tag-text[data-v-bbc929d6] {
  font-size: 14px; /* 增加文字大小 */
  font-weight: 500;
  white-space: nowrap;
}
.existing-indicator[data-v-bbc929d6] {
  font-size: 12px;
  color: #e65100;
  font-weight: 400;
  margin-left: 4px;
}

/* 禁用浏览器自动填充样式 */
.search-input[data-v-bbc929d6]:-webkit-autofill,
.search-input[data-v-bbc929d6]:-webkit-autofill:hover,
.search-input[data-v-bbc929d6]:-webkit-autofill:focus,
.search-input[data-v-bbc929d6]:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset !important;
  -webkit-text-fill-color: #333 !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}
.search-input[data-v-bbc929d6]::-moz-placeholder {
  color: #999;
}
.search-input[data-v-bbc929d6]::placeholder {
  color: #999;
}
.loading-container[data-v-bbc929d6] {
  flex: 1; /* 占据剩余空间 */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: #666;
  font-size: 14px;
  min-height: 200px; /* 确保有足够的最小高度 */
}
.loading-spinner[data-v-bbc929d6] {
  width: 16px;
  height: 16px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #4a90e2;
  border-radius: 50%;
  animation: spin-bbc929d6 1s linear infinite;
  margin-right: 8px;
}
.no-data[data-v-bbc929d6] {
  flex: 1; /* 占据剩余空间 */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  text-align: center;
  color: #999;
  font-size: 14px;
  min-height: 160px; /* 增加最小高度，为按钮留出空间 */
}
.no-data-content[data-v-bbc929d6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px; /* 增加间距，为按钮留出空间 */
}
.no-data-icon[data-v-bbc929d6] {
  opacity: 0.6;
  width: 36px; /* 减小图标尺寸 */
  height: 36px;
}
.no-data-text[data-v-bbc929d6] {
  display: flex;
  flex-direction: column;
  gap: 4px; /* 减少文字间距 */
}
.no-data-title[data-v-bbc929d6] {
  margin: 0;
  font-size: 15px; /* 稍微减小字体 */
  font-weight: 500;
  color: #666;
}
.no-data-description[data-v-bbc929d6] {
  margin: 0;
  font-size: 13px; /* 稍微减小字体 */
  color: #999;
  line-height: 1.4;
}
.add-tag-link[data-v-bbc929d6] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background-color: #f0f9ff;
  border: 1px solid #d0e8ff;
  border-radius: 6px;
  color: #0072c6;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
}
.add-tag-link[data-v-bbc929d6]:hover {
  background-color: #e1f5fe;
  border-color: #b3d9ff;
  color: #005b9f;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 114, 198, 0.15);
}
.add-tag-link svg[data-v-bbc929d6] {
  width: 16px;
  height: 16px;
}
.dialog-footer[data-v-bbc929d6] {
  padding: 16px 20px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  border-top: 1px solid #eee;
}
.footer-left[data-v-bbc929d6] {
  display: flex;
  align-items: center;
}
.footer-right[data-v-bbc929d6] {
  display: flex;
  gap: 12px;
}
.cancel-button[data-v-bbc929d6] {
  padding: 8px 16px;
  border: 1px solid #ddd;
  background-color: white;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  color: #333;
}
.cancel-button[data-v-bbc929d6]:hover {
  background-color: #f5f5f5;
}
.submit-button[data-v-bbc929d6] {
  padding: 8px 16px;
  border: none;
  background-color: #4a90e2;
  color: white;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
}
.submit-button[data-v-bbc929d6]:hover {
  background-color: #3a80d2;
}
.submit-button[data-v-bbc929d6]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.submit-spinner[data-v-bbc929d6] {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin-bbc929d6 1s ease-in-out infinite;
  margin-right: 8px;
}
@keyframes spin-bbc929d6 {
to { transform: rotate(360deg);
}
}
@keyframes dialog-fade-in-bbc929d6 {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/common/FailureWarningModal.vue?vue&type=style&index=0&id=9512f132&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.failure-modal-overlay[data-v-9512f132] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10001;
  animation: fadeIn-9512f132 0.2s ease-out;
  transition: opacity 0.3s ease-out;
}
.failure-modal-overlay.closing[data-v-9512f132] {
  opacity: 0;
}
.failure-modal[data-v-9512f132] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 400px;
  width: 90%;
  position: relative;
  animation: slideIn-9512f132 0.2s ease-out;
  transition: all 0.3s ease-out;
}
.failure-modal.closing[data-v-9512f132] {
  opacity: 0;
  transform: translateY(-20px) scale(0.95);
}
.countdown-badge[data-v-9512f132] {
  position: absolute;
  top: 16px;
  right: 16px;
  background-color: #f5f5f5;
  color: #666;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.modal-content[data-v-9512f132] {
  padding: 32px 24px 24px 24px;
  text-align: center;
}
.modal-title[data-v-9512f132] {
  margin: 0 0 12px 0;
  font-size: 20px;
  font-weight: 600;
  color: #dc3545;
}
.modal-message[data-v-9512f132] {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #666;
}
.modal-footer[data-v-9512f132] {
  padding: 0 24px 24px 24px;
  display: flex;
  justify-content: center;
}
.close-btn[data-v-9512f132] {
  background-color: #007bff;
  color: white;
  border: none;
  padding: 8px 24px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.close-btn[data-v-9512f132]:hover {
  background-color: #0056b3;
}
.close-btn[data-v-9512f132]:active {
  background-color: #004085;
}

/* 动画效果 */
@keyframes fadeIn-9512f132 {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes slideIn-9512f132 {
from {
    opacity: 0;
    transform: translateY(-10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* 响应式设计 */
@media (max-width: 480px) {
.failure-modal[data-v-9512f132] {
    width: 95%;
    margin: 20px;
}
.modal-content[data-v-9512f132] {
    padding: 24px 20px 20px 20px;
}
.modal-title[data-v-9512f132] {
    font-size: 18px;
}
.modal-message[data-v-9512f132] {
    font-size: 15px;
}
.modal-footer[data-v-9512f132] {
    padding: 0 20px 20px 20px;
}
.close-btn[data-v-9512f132] {
    padding: 6px 20px;
    font-size: 13px;
}
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/SubscriptionDetail.vue?vue&type=style&index=0&id=7691ac88&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.subscription-detail-page[data-v-7691ac88] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-container[data-v-7691ac88] {
  width: 100%;
  flex: 1;
  min-height: 0;
  background-color: transparent !important;
  overflow-y: auto;
  overflow-x: hidden;
}
.content-wrapper[data-v-7691ac88] {
  max-width: 1284px;
  margin: 0 auto;
  padding: 0px 16px 40px;
  min-height: 100%;
}

/* 顶部信息区域样式 */
.detail-header[data-v-7691ac88] {
  background: white;
  padding: 24px;
  margin-bottom: 1px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 16px;
  border-left: solid 1px #ccc;
  border-right: solid 1px #ccc;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.action-buttons[data-v-7691ac88] {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  justify-content: flex-start;
  align-items: center;
}
.left-buttons[data-v-7691ac88] {
  display: flex;
  gap: 16px;
  align-items: center;
  flex: 1;
}
.btn-delete[data-v-7691ac88] {
  margin-left: auto;
}
.btn[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  background: none;
  border: none;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  text-decoration: none;
}
.btn[data-v-7691ac88]:hover {
  color: #333;
}
.btn svg[data-v-7691ac88] {
  width: 16px;
  height: 16px;
}
.btn-edit[data-v-7691ac88] {
  color: #2196F3;
}
.btn-edit[data-v-7691ac88]:hover {
  color: #0d8bf2;
}
.btn-delete[data-v-7691ac88] {
  color: #ff9800;
}
.btn-delete[data-v-7691ac88]:hover {
  color: #e68900;
}
.btn-delete-all[data-v-7691ac88] {
  color: #f44336;
}
.btn-delete-all[data-v-7691ac88]:hover {
  color: #e53935;
}
.header-info[data-v-7691ac88] {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.subscription-icon[data-v-7691ac88] {
  width: 48px;
  height: 48px;
  background: #efefef;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.subscription-icon img[data-v-7691ac88] {
  width: 32px;
  height: 32px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 50%;
}
.subscription-icon svg[data-v-7691ac88] {
  width: 32px;
  height: 32px;
}
.subscription-status[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.subscribe-button[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid #ddd;
  border-radius: 16px;
  background: none;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.subscribe-button[data-v-7691ac88]:hover {
  background-color: #f0f0f0;
}
.subscribe-button.subscribed[data-v-7691ac88] {
  border-color: #4CAF50;
  color: white;
  background-color: #4CAF50;
}
.bell-icon[data-v-7691ac88] {
  width: 18px;
  height: 18px;
  color: currentColor;
}
.status-spinner[data-v-7691ac88] {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(76, 175, 80, 0.2);
  border-radius: 50%;
  border-top-color: #4CAF50;
  animation: spin-7691ac88 1s linear infinite;
  margin-left: 4px;
}
.subscribe-button[data-v-7691ac88]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

/* 设置标签按钮样式 */
.tag-setup-button[data-v-7691ac88] {
  background-color: #f0f9ff;
  border-color: #d0e8ff;
  color: #0072c6;
}
.tag-setup-button[data-v-7691ac88]:hover {
  background-color: #e1f5fe;
  border-color: #b3d9ff;
  color: #005b9f;
}
.main-info[data-v-7691ac88] {
  flex: 1;
}
.header-top[data-v-7691ac88] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.title-container[data-v-7691ac88] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.subscription-title[data-v-7691ac88] {
  min-width: 0;
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  color: #222;
}
.subscription-subtitle[data-v-7691ac88] {
  font-size: 12px;
  color: #666;
  margin: 0;
}
.header-chart[data-v-7691ac88] {
  width: 250px;
  height: 80px;
  overflow: hidden;
}
.activity-chart[data-v-7691ac88] {
  height: 80px;
  display: flex;
  margin-bottom: 0;
}
.y-axis-labels[data-v-7691ac88] {
  min-width: 28px;
  text-align: right;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 9px;
  padding-top: 2px;
  padding-bottom: 16px;
}
.y-label[data-v-7691ac88] {
  font-size: 9px;
  color: #999;
  padding-right: 4px;
}
.chart-content[data-v-7691ac88] {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}
.chart-bars[data-v-7691ac88] {
  flex: 1;
  display: flex;
  align-items: flex-end;
  gap: 3px;
  margin-bottom: 16px;
  padding: 0 4px;
  justify-content: center; /* 居中显示所有柱子 */
}
.chart-bar[data-v-7691ac88] {
  background-color: #4CAF50;
  border-radius: 2px 2px 0 0;
  min-height: 1px;
  position: relative;
  transition: height 0.6s ease-out;
  animation: growUp-7691ac88 0.8s ease-out forwards;
  will-change: height;
}
@keyframes growUp-7691ac88 {
0% {
    height: 0 !important;
}
100% {
    height: var(--dynamic-height);
}
}
.bar-label[data-v-7691ac88] {
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 9px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 24px; /* 限制宽度，避免溢出 */
}
.subscription-meta[data-v-7691ac88] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 24px;
  align-items: center;
  margin-top: 12px;
}
.frequency-tag {
&[data-v-7691ac88] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  background-color: #0072c6;
  border-radius: 16px;
  color: white;
  font-size: 12px;
  font-weight: 500;
  width: 80px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
  margin: 0 4px;
  }
.meta-icon[data-v-7691ac88] {
    width: 20px;
    height: 20px;
    color: white;
    flex-shrink: 0;
}
}
.frequency-tag svg[data-v-7691ac88] {
  width: 20px;
  height: 20px;
}
.datatype-tag {
&[data-v-7691ac88] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  background-color: #4caf50;
  border-radius: 16px;
  color: white;
  font-size: 12px;
  font-weight: 500;
  width: 80px;
  margin: 0 4px;
  }
.meta-icon[data-v-7691ac88] {
    width: 20px;
    height: 20px;
    color: white;
    flex-shrink: 0;
}
}
.meta-item[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.meta-icon[data-v-7691ac88] {
  width: 20px;
  height: 20px;
  color: #666;
  flex-shrink: 0;
}
.meta-text[data-v-7691ac88] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.meta-label[data-v-7691ac88] {
  font-size: 12px;
  color: #666;
  font-weight: bold;
}
.meta-value[data-v-7691ac88] {
  font-size: 13px;
  font-weight: 500;
  color: #333;
}
.growth[data-v-7691ac88] {
  color: #4CAF50;
}
.spark-line-container[data-v-7691ac88] {
  width: 180px;
  height: 50px;
  margin-top: 6px;
}
.spark-line[data-v-7691ac88] {
  width: 100%;
  height: 100%;
}
.spark-line path[data-v-7691ac88] {
  fill: none;
  stroke: #2196F3;
  stroke-width: 1.5;
}

/* 中部内容区域样式 */
.detail-content[data-v-7691ac88] {
  display: flex;
  margin-bottom: 1px;
  position: relative;
}
.data-section[data-v-7691ac88], .summary-section[data-v-7691ac88] {
  background: white;
  padding: 20px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 50%;
}
.summary-section[data-v-7691ac88] {
  background: white;
  padding: 20px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  width: calc(100% - 16px - 32px);
}

/* 添加新的容器样式 */
.summary-sections-container[data-v-7691ac88] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 50%;
}
.data-section[data-v-7691ac88] {
  position: relative; /* 确保是相对定位，使detail-panel可以相对它定位 */
  border: 1px solid #ccc;
  border-radius: 8px;
  margin-right: 16px;
  min-width: 0;
  overflow: hidden;
  max-height: 858px;
}
.summary-section[data-v-7691ac88] {
  border: 1px solid #ccc;
  border-radius: 8px;
  min-width: 0;
  max-height: 400px;
}

/* 限制markdown内容高度 */
.limited-height[data-v-7691ac88] {
  /* max-height: 400px; */
  overflow-y: auto;
  padding-right: 10px;
}
.summary-section.has-changes[data-v-7691ac88] {
  display: flex;
  flex-direction: column;
}
.summary-changes[data-v-7691ac88], .summary-content.with-changes[data-v-7691ac88] {
  flex: 1;
  padding: 0;
  overflow: auto;
  max-height: 50%;
  min-height: 0;
}
.summary-changes[data-v-7691ac88] {
  margin-bottom: 16px;
  border-bottom: 1px dashed #ccc;
  padding-bottom: 16px;
}
.summary-content.with-changes .markdown-content[data-v-7691ac88],
.summary-changes .markdown-content[data-v-7691ac88] {
  max-height: calc(100% - 40px);
  overflow: auto;
}
.section-title[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 16px 0;
  color: #222;
  padding-bottom: 10px;
  border-bottom: 1px solid #eaeaea;
}
.section-icon[data-v-7691ac88] {
  width: 20px;
  height: 20px;
  color: #444;
}
.excel-table[data-v-7691ac88] {
  width: 100%;
  height: calc(100% - 48px);
}
.excel-table-container[data-v-7691ac88] {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 16px;
  padding-bottom: 8px; /* 添加底部padding以便滚动条不遮挡内容 */
  height: calc(100% - 72px);
}
.excel-table table[data-v-7691ac88] {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}
.excel-table tr[data-v-7691ac88] {
  height: auto;
  min-height: 40px;
}
.excel-table th[data-v-7691ac88] {
  background-color: #f7f7f7;
  padding: 4px 4px;
  text-align: left;
  font-weight: 500;
  color: #333;
  font-size: 11px;
  white-space: nowrap;
  border-bottom: 1px solid #e0e0e0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.excel-table td[data-v-7691ac88] {
  padding: 4px 4px;
  border-bottom: 1px solid #eaeaea;
  color: #555;
  font-size: 11px;
  white-space: normal;
  word-break: break-word;
  vertical-align: top;
  max-width: 400px; /* 减小单元格最大宽度 */
  overflow: visible;
  line-height: 1.4; /* 行高适中，便于多行显示 */
  max-height: 100px; /* 限制最大高度 */
  height: auto;
}
.excel-table tr:hover td[data-v-7691ac88] {
  background-color: #f8f8f8;
}

/* 确保有内容行的悬停效果优先级更高 */
.excel-table tr.has-content-row:hover td[data-v-7691ac88] {
  background-color: #fffbec;
}
.markdown-content[data-v-7691ac88] {
  font-size: 13px;
  line-height: 1.5;
  color: #444;
}

/* 添加markdown表格样式 */
.markdown-content[data-v-7691ac88] table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 16px;
  border: 1px solid #e0e0e0;
}
.markdown-content[data-v-7691ac88] th,
.markdown-content[data-v-7691ac88] td {
  padding: 8px 12px;
  text-align: left;
  border: 1px solid #e0e0e0;
  font-size: 11px;
}
.markdown-content[data-v-7691ac88] th {
  background-color: #f5f5f5;
  font-weight: 500;
}
.markdown-content[data-v-7691ac88] tr:nth-child(even) {
  background-color: #f9f9f9;
}
.markdown-content[data-v-7691ac88] tr:hover {
  background-color: #f2f2f2;
}
.markdown-content[data-v-7691ac88] h1 {
  font-size: 16px;
  font-weight: 500;
  color: #222;
  margin: 0 0 12px 0;
  padding-bottom: 6px;
  border-bottom: 1px solid #eaeaea;
}
.markdown-content[data-v-7691ac88] h2 {
  font-size: 13px;
  font-weight: bold;
  color: #666;
  margin: 16px 0 8px 0;
  border-left: 2px solid #ff4d4f;
  padding-left: 8px;
}
.markdown-content[data-v-7691ac88] ul {
  margin: 0 0 14px 0;
  padding-left: 18px;
}
.markdown-content[data-v-7691ac88] li {
  margin-bottom: 4px;
  font-size: 12px;
}
.markdown-content[data-v-7691ac88] a {
  color: #1366ec;
}

/* 底部选项卡区域样式 */
.detail-bottom[data-v-7691ac88] {
  background: transparent;
}
.tab-buttons[data-v-7691ac88] {
  display: flex;
  border-bottom: 1px solid #eaeaea;
}
.tab-button[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  border: none;
  background: none;
  font-size: 14px;
  font-weight: bold;
  color: #555;
  cursor: pointer;
  position: relative;
  transition: color 0.2s ease;
}
.tab-icon[data-v-7691ac88] {
  width: 18px;
  height: 18px;
  color: currentColor;
}
.tab-button[data-v-7691ac88]:hover {
  color: #2196F3;
}
.tab-button.active[data-v-7691ac88] {
  color: #0072c6;
  font-weight: bold;
}
.tab-button.active[data-v-7691ac88]::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #0072c6;
}
.tab-content[data-v-7691ac88] {
  min-height: 300px;
  padding: 16px 0px;
}

/* 历史选项卡样式 */
.card-grid[data-v-7691ac88] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

/* 任务进度显示样式 */
.task-progress-container[data-v-7691ac88] {
  margin: 8px 0;
  padding: 8px;
  background-color: #f5f7fa;
  border-radius: 6px;
  border: 1px solid #e4e7ed;
}
.task-progress-info[data-v-7691ac88] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.task-status-badge[data-v-7691ac88] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
}
.task-status-badge.pending[data-v-7691ac88] {
  background-color: #fff7e6;
  color: #d48806;
  border: 1px solid #ffe58f;
}
.task-status-badge.running[data-v-7691ac88] {
  background-color: #e6f7ff;
  color: #1890ff;
  border: 1px solid #91d5ff;
}
.task-status-badge .status-icon[data-v-7691ac88] {
  flex-shrink: 0;
}
.task-status-badge .status-icon.spinning[data-v-7691ac88] {
  animation: spin-7691ac88 1s linear infinite;
}
.task-status-badge .status-text[data-v-7691ac88] {
  white-space: nowrap;
}
.task-progress-text[data-v-7691ac88] {
  font-size: 11px;
  color: #666;
  font-weight: 500;
  white-space: nowrap;
}
.task-progress-bar[data-v-7691ac88] {
  width: 100%;
  height: 6px;
  background-color: #e4e7ed;
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}
.task-progress-fill[data-v-7691ac88] {
  height: 100%;
  background: linear-gradient(90deg, #1890ff 0%, #40a9ff 100%);
  border-radius: 3px;
  transition: width 0.3s ease;
  position: relative;
}
.task-progress-fill.pulsing[data-v-7691ac88] {
  animation: progress-pulse-7691ac88 2s ease-in-out infinite;
}
.task-progress-fill[data-v-7691ac88]::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.3) 50%,
    transparent 100%
  );
  animation: shimmer-7691ac88 2s infinite;
}
@keyframes spin-7691ac88 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
@keyframes progress-pulse-7691ac88 {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.8;
}
}
@keyframes shimmer-7691ac88 {
0% {
    transform: translateX(-100%);
}
100% {
    transform: translateX(100%);
}
}
.summary-card[data-v-7691ac88] {
  background: white;
  border: 1px solid #ccc;
  transition: all 0.2s ease;
  border-radius: 8px;
  /* box-shadow: 0 0 4px 2px #00000011; */
  overflow: hidden;
}
.summary-card[data-v-7691ac88]:hover {
  border-color: #d0d0d0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.summary-header[data-v-7691ac88] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: #f7f7f7;
  border-bottom: 1px solid #ccc;
}
.summary-date[data-v-7691ac88] {
  font-weight: 500;
  color: #333;
  font-size: 12px;
}
.summary-count[data-v-7691ac88] {
  font-size: 11px;
  color: #666;
}
.summary-content[data-v-7691ac88] {
  padding: 14px;
  max-height: 260px;
  overflow-y: auto;
}

/* 数据选项卡样式 */
.data-filter[data-v-7691ac88] {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.data-filter label[data-v-7691ac88] {
  font-weight: 500;
  color: #333;
  font-size: 12px;
}
.data-filter select[data-v-7691ac88] {
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 3px;
  font-size: 12px;
  background: white;
}
.full-width[data-v-7691ac88] {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 768px) {
.detail-content[data-v-7691ac88] {
    flex-direction: column;
}
.data-section[data-v-7691ac88] {
    border-right: none;
    border-bottom: 1px solid #eaeaea;
}
.header-info[data-v-7691ac88] {
    flex-direction: column;
    gap: 16px;
}
.header-top[data-v-7691ac88] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.title-container[data-v-7691ac88] {
    gap: 12px;
}
.subscription-tags[data-v-7691ac88] {
    justify-content: flex-start;
}
.header-chart[data-v-7691ac88] {
    width: 100%;
    height: 60px;
}
.card-grid[data-v-7691ac88] {
    grid-template-columns: 1fr;
}
}
.loading-indicator[data-v-7691ac88] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: #666;
  font-size: 14px;
}
.spinner[data-v-7691ac88] {
  width: 36px;
  height: 36px;
  border: 3px solid rgba(0, 114, 198, 0.2);
  border-radius: 50%;
  border-top-color: #0072c6;
  animation: spin-7691ac88 1s linear infinite;
  margin-bottom: 8px;
}
@keyframes spin-7691ac88 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.pagination[data-v-7691ac88] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid #eaeaea;
  margin-top: 16px;
}
.pagination-info[data-v-7691ac88] {
  font-size: 12px;
  color: #666;
}
.pagination-buttons[data-v-7691ac88] {
  display: flex;
  gap: 8px;
}
.pagination-button[data-v-7691ac88] {
  padding: 6px 12px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 0 3px;
}
.pagination-button.page-number[data-v-7691ac88] {
  min-width: 32px;
  padding: 6px 10px;
  text-align: center;
}
.pagination-button.page-number.active[data-v-7691ac88] {
  background-color: #0072c6;
  color: white;
  border-color: #0072c6;
  font-weight: bold;
}
.pagination-button[data-v-7691ac88]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination-button[data-v-7691ac88]:hover:not(:disabled) {
  background-color: #e0e0e0;
}
.pagination-button.page-number.active[data-v-7691ac88]:hover {
  background-color: #005b9f;
}
.empty-data[data-v-7691ac88] {
  padding: 40px;
  text-align: center;
  color: #999;
  font-size: 14px;
  background: #f9f9f9;
  border-radius: 4px;
  border: 1px dashed #ddd;
}
.no-summary[data-v-7691ac88] {
  padding: 20px;
  text-align: center;
  color: #999;
  font-size: 13px;
  font-style: italic;
}
.data-link[data-v-7691ac88] {
  color: #1366ec;
  text-decoration: none;
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal; /* 修改为normal允许换行 */
  word-break: break-all; /* 允许在任何字符处换行 */
  transition: color 0.2s ease;
}
.data-link[data-v-7691ac88]:hover {
  color: #0051a3;
  text-decoration: underline;
}

/* 加载更多按钮样式 */
.load-more[data-v-7691ac88] {
  text-align: center;
  padding: 10px 0;
  margin: 10px 0;
}
.load-more-button[data-v-7691ac88] {
  padding: 8px 16px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  transition: all 0.2s ease;
}
.load-more-button[data-v-7691ac88]:hover {
  background-color: #e0e0e0;
}

/* 按钮加载状态样式 */
.btn-retry[data-v-7691ac88] {
  color: #2196F3;
}
.btn-retry[data-v-7691ac88]:hover {
  color: #0d8bf2;
  background-color: #f0f9ff;
  border-radius: 4px;
  padding: 4px 8px;
  margin: -4px -8px;
}
.btn-retry[data-v-7691ac88]:active {
  background-color: #e1f5fe;
}
.btn-retry[data-v-7691ac88]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* 添加停止按钮样式 */
.btn-stop[data-v-7691ac88] {
  color: #F44336;
}
.btn-stop[data-v-7691ac88]:hover {
  color: #D32F2F;
  background-color: #ffebee;
  border-radius: 4px;
  padding: 4px 8px;
  margin: -4px -8px;
}
.btn-stop[data-v-7691ac88]:active {
  background-color: #ffcdd2;
}
.btn-stop[data-v-7691ac88]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* 任务状态指示器样式 */
.task-status-indicator[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  margin-left: 8px;
}
.status-success[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #4caf50;
  background-color: rgba(76, 175, 80, 0.1);
  padding: 6px 10px;
  border-radius: 4px;
  border: 1px solid rgba(76, 175, 80, 0.2);
}
.status-failed[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #f44336;
  background-color: rgba(244, 67, 54, 0.1);
  padding: 6px 10px;
  border-radius: 4px;
  border: 1px solid rgba(244, 67, 54, 0.2);
}

/* 提示消息样式 */
.toast-container[data-v-7691ac88] {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 1000;
}
.toast[data-v-7691ac88] {
  padding: 12px 16px;
  border-radius: 4px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  animation: slideIn-7691ac88 0.3s ease;
}
@keyframes slideIn-7691ac88 {
from {
    transform: translateX(100%);
    opacity: 0;
}
to {
    transform: translateX(0);
    opacity: 1;
}
}

/* 添加运行中按钮样式 */
.btn-running[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background-color: #e8f5ff;
  border: 1px solid #a0d7ff;
  border-radius: 4px;
  color: #0072c6;
  font-weight: 500;
  font-size: 12px;
}
.running-icon[data-v-7691ac88] {
  animation: spin-7691ac88 2s linear infinite;
}
@keyframes spin-7691ac88 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.excel-table td span[data-v-7691ac88] {
  display: block;
  white-space: normal;
  word-break: break-word;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 80px; /* 约4行文本 */
}
.content-icon[data-v-7691ac88] {
  width: 14px;
  height: 14px;
  vertical-align: middle;
}

/* 弹窗样式 */
.modal-overlay[data-v-7691ac88] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.modal-content[data-v-7691ac88] {
  background-color: white;
  border-radius: 8px;
  width: 400px;
  max-width: 90%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.modal-header[data-v-7691ac88] {
  padding: 16px 20px;
  border-bottom: 1px solid #eaeaea;
}
.modal-header h3[data-v-7691ac88] {
  margin: 0;
  font-size: 16px;
  color: #333;
}
.modal-body[data-v-7691ac88] {
  padding: 20px;
}
.modal-body p[data-v-7691ac88] {
  margin: 0;
  font-size: 14px;
  color: #666;
  line-height: 1.5;
}
.modal-footer[data-v-7691ac88] {
  padding: 12px 20px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid #eaeaea;
}
.modal-btn[data-v-7691ac88] {
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}
.modal-btn-cancel[data-v-7691ac88] {
  background-color: #f5f5f5;
  color: #666;
}
.modal-btn-cancel[data-v-7691ac88]:hover {
  background-color: #e0e0e0;
}
.modal-btn-confirm[data-v-7691ac88] {
  background-color: #f44336;
  color: white;
}
.modal-btn-confirm[data-v-7691ac88]:hover {
  background-color: #e53935;
}
.modal-btn-confirm[data-v-7691ac88]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
.btn-delete[data-v-7691ac88] {
  color: #f44336;
}
.btn-delete[data-v-7691ac88]:hover {
  color: #d32f2f;
}
.pagination-ellipsis[data-v-7691ac88] {
  display: inline-block;
  padding: 6px 8px;
  margin: 0 3px;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.pagination-ellipsis[data-v-7691ac88]:hover {
  color: #0072c6;
}
.clickable[data-v-7691ac88] {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.clickable[data-v-7691ac88]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* 添加下载按钮样式 */
.btn-download[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background-color: #f0f9ff;
  border: 1px solid #d0e8ff;
  border-radius: 4px;
  color: #0072c6;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-download[data-v-7691ac88]:hover {
  background-color: #e1f5fe;
}
.btn-download[data-v-7691ac88]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.download-icon[data-v-7691ac88] {
  width: 16px;
  height: 16px;
}
.title-actions[data-v-7691ac88] {
  margin-left: auto;
  display: flex;
  align-items: center;
}
.section-title[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 16px 0;
  color: #222;
  padding-bottom: 10px;
  border-bottom: 1px solid #eaeaea;
  width: 100%;
}
.table-header[data-v-7691ac88] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.table-title[data-v-7691ac88] {
  font-size: 16px;
  font-weight: 500;
  color: #222;
}
.table-actions[data-v-7691ac88] {
  display: flex;
  gap: 8px;
}
.toast-warning[data-v-7691ac88] {
  background-color: #fff8e1;
  border-left: 4px solid #ffb300;
  color: #ff8f00;
}
.content-icon-wrapper[data-v-7691ac88] {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.content-icon-wrapper[data-v-7691ac88]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.content-dialog-header h3[data-v-7691ac88] {
  margin: 0;
  font-size: 18px;
  color: #333;
  font-weight: 500;
}
.content-detail[data-v-7691ac88] {
  width: 100%;
}
.content-loading[data-v-7691ac88] {
  text-align: center;
  padding: 40px 0;
  color: #666;
}
@keyframes fadeIn-7691ac88 {
from { opacity: 0;
}
to   { opacity: 1;
}
}
@keyframes fadeOut-7691ac88 {
from { opacity: 1;
}
to   { opacity: 0;
}
}

/* 内容详情面板样式 */
.detail-panel[data-v-7691ac88] {
  display: flex;
  flex-direction: column;
  background-color: white;
  border: 1px solid #ccc;
  overflow: hidden;
  border-radius: 8px !important;
  background-color: #f8f8f8;
}
@keyframes slideInRight-7691ac88 {
from {
    transform: scaleX(0);
    opacity: 0;
}
to {
    transform: scaleX(1);
    opacity: 1;
}
}

/* 修改淡出动画 */
.detail-panel.panel-fade-out[data-v-7691ac88] {
  animation: slideOutRight-7691ac88 0.3s ease forwards;
}
@keyframes slideOutRight-7691ac88 {
from {
    transform: scaleX(1);
    opacity: 1;
}
to {
    transform: scaleX(0);
    opacity: 0;
}
}

/* 过渡效果 */
.slide-edge-enter-active[data-v-7691ac88] {
  animation: slideInRight-7691ac88 0.3s ease;
}
.slide-edge-leave-active[data-v-7691ac88] {
  animation: slideOutRight-7691ac88 0.3s ease;
}
.content-detail-header[data-v-7691ac88] {
  padding: 10px 16px;
  border-bottom: 1px solid #eaeaea;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  border-top-right-radius: 8px;
  border-top-left-radius: 0;
  height: 40px;
  box-sizing: border-box;
}
.content-detail-header h3[data-v-7691ac88] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.title-link[data-v-7691ac88] {
  color: #0072c6;
  text-decoration: none;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  transition: color 0.2s ease;
}
.title-link[data-v-7691ac88]:hover {
  color: #005b9f;
  text-decoration: underline;
}

/* 添加含有内容的行样式 */
.has-content-row[data-v-7691ac88] {
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.has-content-row[data-v-7691ac88]:hover {
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}
.content-detail-body[data-v-7691ac88] {
  flex: 1;
  overflow-y: auto;
  background-color: #fff;
  padding: 0 20px;
}
.content-loading[data-v-7691ac88] {
  text-align: center;
  padding: 40px 0;
  color: #666;
}
@keyframes slideInLeft-7691ac88 {
from {
    transform: translateX(-100%);
    opacity: 0.3;
}
to {
    transform: translateX(0);
    opacity: 1;
}
}


/* API访问面板样式 */
.api-tester[data-v-7691ac88] {
  padding: 16px;
  height: 100%;
  overflow-y: auto;
  /* 添加滚动平滑效果 */
  scroll-behavior: smooth;
}
.api-params[data-v-7691ac88] {
  margin-top: 24px;
}
.param-group[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  transition: all 0.2s ease;
}
.param-group[data-v-7691ac88]:hover {
  background: #fff;
  border-color: #dee2e6;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.param-icon[data-v-7691ac88] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: #e9ecef;
  border-radius: 6px;
  color: #495057;
}
.param-icon svg[data-v-7691ac88] {
  width: 20px;
  height: 20px;
}
.param-content[data-v-7691ac88] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.param-content label[data-v-7691ac88] {
  font-size: 13px;
  color: #495057;
  font-weight: 500;
}
.param-content input[data-v-7691ac88],
.param-content select[data-v-7691ac88] {
  padding: 8px 12px;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  font-size: 13px;
  color: #212529;
  background: #fff;
  transition: all 0.2s ease;
}
.param-content input[data-v-7691ac88]:focus,
.param-content select[data-v-7691ac88]:focus {
  border-color: #2196F3;
  outline: none;
  box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.1);
}
.param-content input[data-v-7691ac88]::-moz-placeholder {
  color: #adb5bd;
}
.param-content input[data-v-7691ac88]::placeholder {
  color: #adb5bd;
}
.api-result[data-v-7691ac88] {
  margin-bottom: 24px;
}
.api-url[data-v-7691ac88] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
}
.api-url label[data-v-7691ac88] {
  font-size: 13px;
  color: #495057;
  font-weight: 500;
}
.url-display[data-v-7691ac88] {
  padding: 12px;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  font-size: 13px;
  color: #212529;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  word-break: break-all;
  line-height: 1.5;
}
.copy-btn[data-v-7691ac88] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 16px;
  background: #2196F3;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  align-self: flex-start;
}
.copy-btn[data-v-7691ac88]:hover {
  background: #1976D2;
}
.copy-btn[data-v-7691ac88]:active {
  background: #1565C0;
}
.copy-btn svg[data-v-7691ac88] {
  width: 16px;
  height: 16px;
}

/* 修改select样式 */
.param-content select[data-v-7691ac88] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23495057%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpolyline points=%276 9 12 15 18 9%27%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 16px;
  padding-right: 32px;
}

/* 修改number input样式 */
.param-content input[type="number"][data-v-7691ac88] {
  -moz-appearance: textfield;
}
.param-content input[type="number"][data-v-7691ac88]::-webkit-outer-spin-button,
.param-content input[type="number"][data-v-7691ac88]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.panel-fade-out[data-v-7691ac88] {
  opacity: 0;
  pointer-events: none;
}
.detail-panel[data-v-7691ac88] {
  transition: opacity 0.3s ease;
}
.api-url[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px;
  background: #f5f5f5;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.api-url[data-v-7691ac88]:hover {
  background: #e8e8e8;
}
.api-url input[data-v-7691ac88] {
  font-family: monospace;
  background: #fff;
}

/* 开关按钮样式 */
.toggle-switch[data-v-7691ac88] {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 24px;
}
.toggle-switch input[data-v-7691ac88] {
  opacity: 0;
  width: 0;
  height: 0;
}
.toggle-switch label[data-v-7691ac88] {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: .4s;
  border-radius: 24px;
}
.toggle-switch label[data-v-7691ac88]:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: .4s;
  border-radius: 50%;
}
.toggle-switch input:checked + label[data-v-7691ac88] {
  background-color: #2196F3;
}
.toggle-switch input:checked + label[data-v-7691ac88]:before {
  transform: translateX(22px);
}
.toggle-switch input:focus + label[data-v-7691ac88] {
  box-shadow: 0 0 1px #2196F3;
}

/* 让API面板更美观 */
.content-detail-header[data-v-7691ac88] {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}
.content-detail-header h3[data-v-7691ac88] {
  color: #343a40;
  font-weight: 600;
}
.close-btn[data-v-7691ac88] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6c757d;
  transition: all 0.2s ease;
}
.close-btn[data-v-7691ac88]:hover {
  background-color: #e9ecef;
  color: #343a40;
}
.close-btn svg[data-v-7691ac88] {
  width: 20px;
  height: 20px;
}
.api-guide[data-v-7691ac88] {
  margin-bottom: 24px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 16px;
}
.guide-item[data-v-7691ac88] {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px dashed #e9ecef;
}
.guide-item[data-v-7691ac88]:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.guide-number[data-v-7691ac88] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: #0072c6;
  color: white;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 500;
  margin-right: 12px;
  flex-shrink: 0;
}
.guide-content[data-v-7691ac88] {
  flex: 1;
}
.guide-title[data-v-7691ac88] {
  font-size: 14px;
  font-weight: 600;
  color: #343a40;
  margin-bottom: 6px;
}
.guide-description[data-v-7691ac88] {
  font-size: 13px;
  color: #495057;
  line-height: 1.5;
}
.guide-description ul[data-v-7691ac88] {
  margin: 8px 0;
  padding-left: 18px;
}
.guide-description li[data-v-7691ac88] {
  margin-bottom: 6px;
}
.guide-description strong[data-v-7691ac88] {
  font-weight: 600;
  color: #343a40;
}
.api-login-message[data-v-7691ac88] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: #666;
  font-size: 14px;
}
.api-alert[data-v-7691ac88] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 12px;
  background-color: #fef0f0;
  border-radius: 4px;
  border: 1px solid #f56c6c;
}
.login-btn[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background-color: #f0f9ff;
  border: 1px solid #d0e8ff;
  border-radius: 4px;
  color: #0072c6;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.login-btn[data-v-7691ac88]:hover {
  background-color: #e1f5fe;
}
.login-btn[data-v-7691ac88]:active {
  background-color: #d0e8ff;
}
.login-btn svg[data-v-7691ac88] {
  width: 16px;
  height: 16px;
}

/* 代理状态切换按钮 */
.proxy-status[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.proxy-button[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid #ddd;
  border-radius: 16px;
  background-color: #e0e0e0;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.proxy-button[data-v-7691ac88]:hover {
  background-color: #d0d0d0;
}
.proxy-button.proxy-enabled[data-v-7691ac88] {
  border-color: #4CAF50;
  color: white;
  background-color: #4CAF50;
}
.proxy-icon[data-v-7691ac88] {
  width: 18px;
  height: 18px;
  color: currentColor;
}
.status-spinner[data-v-7691ac88] {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(76, 175, 80, 0.2);
  border-radius: 50%;
  border-top-color: #4CAF50;
  animation: spin-7691ac88 1s linear infinite;
  margin-left: 4px;
}
.proxy-button[data-v-7691ac88]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
.subscription-tags[data-v-7691ac88] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 0 0;
  align-items: center;
  min-height: 24px;
}
.tag-pill[data-v-7691ac88] {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  font-size: 11px;
  color: #666;
  background-color: white;
  border: 1px solid #e0e0e0;
  border-radius: 14px;
  max-width: 140px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 0.2s ease;
  line-height: 1.2;
}
.add-tag-btn[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border: 1px solid #0072c6;
  border-radius: 14px;
  background-color: #f0f9ff;
  font-size: 11px;
  color: #0072c6;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  line-height: 1.2;
}
.add-tag-btn svg[data-v-7691ac88] {
  width: 12px;
  height: 12px;
}

/* 视频附件缩略图样式 */
.attachments-cell[data-v-7691ac88] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 4px 0;
}
.video-thumbnail-wrapper[data-v-7691ac88] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px;
  background-color: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #e9ecef;
  transition: all 0.2s ease;
}
.video-thumbnail-wrapper[data-v-7691ac88]:hover {
  background-color: #e9ecef;
  border-color: #dee2e6;
}
.thumbnail-container[data-v-7691ac88] {
  position: relative;
  width: 100%;
  height: 80px;
  flex-shrink: 0;
  background-color: #000;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.video-thumbnail[data-v-7691ac88] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  cursor: pointer;
}
.video-thumbnail-placeholder[data-v-7691ac88] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #2c3e50;
  color: rgba(255, 255, 255, 0.6);
}
.video-thumbnail-placeholder.hidden[data-v-7691ac88] {
  display: none;
}
.video-icon[data-v-7691ac88] {
  width: 32px;
  height: 32px;
  color: rgba(255, 255, 255, 0.6);
}
.video-info[data-v-7691ac88] {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  text-align: center;
}
.video-name[data-v-7691ac88] {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4;
  word-break: keep-all;
  writing-mode: horizontal-tb;
  text-align: center;
  max-width: 100%;
  width: 100%;
}
.video-meta[data-v-7691ac88] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #666;
}
.video-size[data-v-7691ac88] {
  color: #666;
}
.video-link[data-v-7691ac88] {
  display: inline-flex;
  align-items: center;
  color: #0072c6;
  text-decoration: none;
  transition: color 0.2s ease;
}
.video-link[data-v-7691ac88]:hover {
  color: #005b9f;
}
.video-link svg[data-v-7691ac88] {
  width: 14px;
  height: 14px;
}
.no-video-text[data-v-7691ac88] {
  font-size: 12px;
  color: #999;
  font-style: italic;
}

/* 视频播放弹窗样式 */
.video-player-modal[data-v-7691ac88] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999 !important;
  padding: 20px;
  margin: 0;
  overflow: auto;
}
.video-player-container[data-v-7691ac88] {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  max-width: 90vw;
  max-height: 90vh;
  width: 100%;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  z-index: 100000;
}
.video-player-header[data-v-7691ac88] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
  background-color: #f8f9fa;
}
.video-player-title[data-v-7691ac88] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  padding-right: 16px;
}
.video-player-close[data-v-7691ac88] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: color 0.2s ease;
  flex-shrink: 0;
}
.video-player-close[data-v-7691ac88]:hover {
  color: #333;
}
.video-player-body[data-v-7691ac88] {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  min-height: 300px;
  flex: 1;
  overflow: hidden;
  position: relative;
}
.video-player-element[data-v-7691ac88] {
  max-width: 100%;
  max-height: calc(90vh - 120px);
  width: 100%;
  height: auto;
  outline: none;
  display: block;
}
.video-player-error[data-v-7691ac88] {
  color: #fff;
  text-align: center;
  padding: 40px;
}
.video-player-error p[data-v-7691ac88] {
  margin: 0;
  font-size: 16px;
}
.video-player-loading[data-v-7691ac88] {
  color: #fff;
  text-align: center;
  padding: 60px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
}
.video-player-loading p[data-v-7691ac88] {
  margin: 0;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
}

/* 视频弹窗过渡动画 */
.video-modal-enter-active[data-v-7691ac88],
.video-modal-leave-active[data-v-7691ac88] {
  transition: opacity 0.3s ease;
}
.video-modal-enter-active .video-player-container[data-v-7691ac88],
.video-modal-leave-active .video-player-container[data-v-7691ac88] {
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.video-modal-enter-from[data-v-7691ac88],
.video-modal-leave-to[data-v-7691ac88] {
  opacity: 0;
}
.video-modal-enter-from .video-player-container[data-v-7691ac88],
.video-modal-leave-to .video-player-container[data-v-7691ac88] {
  transform: scale(0.9);
  opacity: 0;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/icons/ResourceIcon.vue?vue&type=style&index=0&id=4950f2ac&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.resource-icon[data-v-4950f2ac] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.resource-icon[data-v-4950f2ac] svg {
  flex-shrink: 0;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/ResourcesContainer.vue?vue&type=style&index=0&id=9874ec42&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.resources-container[data-v-9874ec42] {
  height: 100%;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #eee;
  min-height: 0;
}
.component-header[data-v-9874ec42] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  width: calc(100% - 32px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.component-header[data-v-9874ec42]:hover {
  background-color: #f8f9fa;
}
.collapse-icon[data-v-9874ec42] {
  transition: transform 0.3s ease;
  color: #666;
}
.collapse-icon.collapsed[data-v-9874ec42] {
  transform: rotate(-90deg);
}
.section-title[data-v-9874ec42] {
  font-size: 14px;
  font-weight: bold;
  color: #333;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title .title-icon[data-v-9874ec42] {
  color: #333 !important;
  flex-shrink: 0;
}
.resources-filter-buttons[data-v-9874ec42] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
  padding: 12px 8px;
  border-bottom: 1px solid #eee;
  background: #fff;
}
.filter-button[data-v-9874ec42] {
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  min-width: 0;
  flex-shrink: 0;
  padding: 4px 8px;
  min-width: 74px;
}
.filter-button[data-v-9874ec42]:hover {
  border-color: #1976d2;
  background-color: #f8f9fa;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(25, 118, 210, 0.1);
}
.filter-button.active[data-v-9874ec42] {
  border-color: #1976d2;
  background-color: #e3f2fd;
  color: #1565c0;
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.2);
}
.filter-button-content[data-v-9874ec42] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.filter-icon[data-v-9874ec42] {
  flex-shrink: 0;
  transition: transform 0.2s ease;
  padding-right: 4px;
}
.filter-button.active .filter-icon[data-v-9874ec42] {
  transform: scale(1.1);
}
.filter-label[data-v-9874ec42] {
  white-space: nowrap;
  font-weight: inherit;
  font-size: 12px;
}
.filter-loading[data-v-9874ec42] {
  width: 12px;
  height: 12px;
  border: 2px solid transparent;
  border-top: 2px solid #1565c0;
  border-radius: 50%;
  animation: spin-9874ec42 1s linear infinite;
  flex-shrink: 0;
}
.search-box[data-v-9874ec42] {
  position: relative;
  margin-bottom: 0;
}
.search-box input[data-v-9874ec42] {
  width: 100%;
  padding: 8px 12px;
  padding-right: 32px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}
.clear-button[data-v-9874ec42] {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #999;
  cursor: pointer;
}
.component-content[data-v-9874ec42] {
  flex: 1;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  min-height: 0;
}
.component-content.collapsed[data-v-9874ec42] {
  display: none;
}
.resources-filter-buttons[data-v-9874ec42] {
  flex-shrink: 0;
  padding: 12px 8px;
  border-bottom: 1px solid #eee;
  background: #fff;
}
.resources-list-container[data-v-9874ec42] {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
}
.resources-list[data-v-9874ec42] {
  margin-bottom: 16px;
}
.empty-resources[data-v-9874ec42] {
  text-align: center;
  color: #888;
  padding: 32px 0;
}
.resources-grid[data-v-9874ec42] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 0px;
}
.resource-card[data-v-9874ec42] {
  background-color: #fff;
  border-bottom: 1px solid #eee;
  border-left: 6px solid transparent;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: row;
  /* height: 160px; */
  position: relative;
  cursor: pointer;
}
.resource-card-selection[data-v-9874ec42] {
  width: 0px;
  height: 100%;
  background-color: transparent;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.2s;
}
.resource-card-selection.selected[data-v-9874ec42] {
  background-color: #2e7d32;
}
.resource-card-content[data-v-9874ec42] {
  display: flex;
  padding: 12px;
  flex-direction: column;
  width: calc(100% - 0px - 24px);
}
.resource-card[data-v-9874ec42]:hover {
  background-color: #f8f8f8;
  border-color: #d1d5da;
}
.resource-card.selected[data-v-9874ec42] {
  border-left-color: #2e7d32;
  background-color: #f1f8e9;
}
.resource-header[data-v-9874ec42] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.resource-title[data-v-9874ec42] {
  font-weight: 500;
  font-size: 13px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 80%;
  font-weight: bold;
}
.resource-title-link[data-v-9874ec42] {
  color: #0066cc;
  cursor: pointer;
  transition: color 0.2s ease;
}
.resource-title-link[data-v-9874ec42]:hover {
  color: #004499;
  text-decoration: underline;
}
.resource-actions[data-v-9874ec42] {
  display: flex;
  gap: 4px;
}
.resource-action-button[data-v-9874ec42] {
  background: none;
  border: none;
  color: #666;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s;
}
.resource-action-button[data-v-9874ec42]:hover {
  background-color: #f0f0f0;
}

/* 图片容器样式 */
.resource-image-container[data-v-9874ec42] {
  margin-bottom: 8px;
  border-radius: 4px;
  overflow: hidden;
  max-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f5f5f5;
}
.resource-image[data-v-9874ec42] {
  width: 100%;
  height: 120px; /* 固定高度 */
  -o-object-fit: contain;
     object-fit: contain; /* 默认值，会被JavaScript动态调整 */
  -o-object-position: center;
     object-position: center; /* 默认值，会被JavaScript动态调整 */
  border-radius: 4px;
  transition: transform 0.2s ease;
}
.resource-image[data-v-9874ec42]:hover {
  transform: scale(1.02);
}
.resource-content[data-v-9874ec42] {
  font-size: 12px;
  color: #555;
  line-height: 1.5;
  margin-bottom: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.resource-footer[data-v-9874ec42] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.resource-tags[data-v-9874ec42] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.resource-tag[data-v-9874ec42] {
  font-size: 12px;
  color: #1976d2;
  background-color: #e3f2fd;
  padding: 2px 8px;
  border-radius: 12px;
}
.resource-info[data-v-9874ec42] {
  display: flex;
  flex-direction: column;
  max-width: 100px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.resource-source[data-v-9874ec42] {
  font-size: 11px;
  color: #666;
  font-style: italic;
}
.resource-company[data-v-9874ec42] {
  font-size: 10px;
  color: #1976d2;
  background-color: #e3f2fd;
  padding: 1px 6px;
  border-radius: 8px;
  margin-top: 2px;
}
.resource-contacts[data-v-9874ec42] {
  font-size: 10px;
  color: #1976d2;
  background-color: #e3f2fd;
  padding: 1px 6px;
  border-radius: 8px;
  margin-top: 2px;
}
.loading-resources[data-v-9874ec42] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #586069;
  text-align: center;
}
.loading-resources .loading-spinner[data-v-9874ec42] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-9874ec42 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-9874ec42 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 自定义滚动条样式 */
[data-v-9874ec42]::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
[data-v-9874ec42]::-webkit-scrollbar-track {
  background: #f1f1f1;
}
[data-v-9874ec42]::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 2px;
}
[data-v-9874ec42]::-webkit-scrollbar-thumb:hover {
  background: #999;
}

/* 产品卡片专用样式 */
.product-card[data-v-9874ec42] {
  height: auto !important;
  max-height: 180px;
}
.product-card-content[data-v-9874ec42] {
  display: flex;
  flex-direction: row;
  padding: 12px;
  width: calc(100% - 24px);
  gap: 8px;
  min-width: 0; /* 确保flex子元素能够正确收缩 */
}
.product-image-section[data-v-9874ec42] {
  flex: 0 0 80px;
  display: flex;
  justify-content: center;
}
.product-image-container[data-v-9874ec42] {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e9ecef;
}
.product-image[data-v-9874ec42] {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain; 
  -o-object-position: center; 
     object-position: center; /* 默认值，会被JavaScript动态调整 */
  transition: transform 0.3s ease;
}
.product-image[data-v-9874ec42]:hover {
  transform: scale(1.05);
}
.product-info-section[data-v-9874ec42] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0; /* 确保能够正确收缩 */
  overflow: hidden; /* 防止内容溢出 */
}
.product-header[data-v-9874ec42] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  min-width: 0; /* 确保能够正确收缩 */
}
.product-title[data-v-9874ec42] {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin: 0;
  line-height: 1.5;
  flex: 1;
  margin-right: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0; /* 确保省略号能正常工作 */
  font-family: Arial, 'Microsoft YaHei', sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-title-link[data-v-9874ec42] {
  color: #0066cc;
  cursor: pointer;
  transition: color 0.2s ease;
}
.product-title-link[data-v-9874ec42]:hover {
  color: #004499;
  text-decoration: underline;
}
.product-actions[data-v-9874ec42] {
  display: flex;
  gap: 4px;
  flex-shrink: 0; /* 防止操作按钮被压缩 */
}
.product-description[data-v-9874ec42] {
  font-size: 12px;
  color: #6c757d;
  line-height: 1.5;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.product-footer[data-v-9874ec42] {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: auto;
  min-width: 0; /* 确保footer能够正确收缩 */
  gap: 8px; /* 添加间距防止重叠 */
  padding-top: 8px;
}
.product-tags[data-v-9874ec42] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.product-tag[data-v-9874ec42] {
  font-size: 12px;
  color: #0066cc;
  background-color: #e7f3ff;
  padding: 4px 8px;
  border-radius: 12px;
  font-weight: 500;
}
.product-meta[data-v-9874ec42] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex-shrink: 0; /* 防止元数据被压缩 */
  white-space: nowrap; /* 防止文字换行 */
}
.product-source[data-v-9874ec42] {
  font-size: 11px;
  color: #6c757d;
  font-style: italic;
}
.product-company[data-v-9874ec42] {
  font-size: 11px;
  color: #0066cc;
  background-color: #e7f3ff;
  padding: 2px 6px;
  border-radius: 8px;
  font-weight: 500;
}

/* 响应式布局 - 当容器宽度较小时 */
@media (max-width: 400px) {
.product-card-content[data-v-9874ec42] {
    flex-direction: column;
    gap: 12px;
}
.product-image-section[data-v-9874ec42] {
    flex: none;
    align-self: center;
}
.product-footer[data-v-9874ec42] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.product-meta[data-v-9874ec42] {
    align-items: flex-start;
}
}
.resource-content[data-v-9874ec42] {
  font-size: 12px;
  color: #555;
  line-height: 1.5;
  margin-bottom: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.analysis-score-section[data-v-9874ec42] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}
.analysis-score-badge[data-v-9874ec42] {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px 4px;
  border-radius: 4px;
}
.score-icon[data-v-9874ec42] {
  width: 14px;
  height: 14px;
}
.score-text[data-v-9874ec42] {
  font-size: 12px;
  color: #666;
}
.analysis-reason[data-v-9874ec42] {
  font-size: 12px;
  color: #999;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.high-score[data-v-9874ec42] {
  background-color: #e8f5e9;
}
.medium-score[data-v-9874ec42] {
  background-color: #fff9c4;
}
.low-score[data-v-9874ec42] {
  background-color: #ffebee;
}
.very-low-score[data-v-9874ec42] {
  background-color: #ffcdd2;
}
.debug-button[data-v-9874ec42] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: #f8f9fa;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: 8px;
}
.debug-button[data-v-9874ec42]:hover {
  background: #e9ecef;
  color: #495057;
  border-color: #ced4da;
}
.debug-button svg[data-v-9874ec42] {
  width: 14px;
  height: 14px;
}
.load-more-container[data-v-9874ec42] {
  display: flex;
  justify-content: center;
  padding: 16px;
}
.load-more-button[data-v-9874ec42] {
  padding: 6px 16px;
  background-color: #0366d6;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.load-more-button[data-v-9874ec42]:hover {
  background-color: #005cc5;
}
.loading-more-state[data-v-9874ec42] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  color: #586069;
}
.loading-more-state .loading-spinner[data-v-9874ec42] {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border: 2px solid #f6f8fa;
  border-top: 2px solid #0366d6;
  border-radius: 50%;
  animation: spin-9874ec42 1s linear infinite;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/SubscriptionContainer.vue?vue&type=style&index=0&id=62d04b31&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.subscription-container[data-v-62d04b31] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #fafafa;
  min-height: 0;
}
.component-header[data-v-62d04b31] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  width: calc(100% - 32px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.component-header[data-v-62d04b31]:hover {
  background-color: #f8f9fa;
}
.collapse-icon[data-v-62d04b31] {
  transition: transform 0.3s ease;
  color: #666;
}
.collapse-icon.collapsed[data-v-62d04b31] {
  transform: rotate(-90deg);
}
.section-title[data-v-62d04b31] {
  font-size: 14px;
  font-weight: bold;
  color: #333;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title svg[data-v-62d04b31] {
  color: #333 !important;
  flex-shrink: 0;
}
.selection-count[data-v-62d04b31] {
  font-size: 12px;
  color: #2e7d32;
  font-weight: normal;
  background-color: #e8f5e9;
  padding: 2px 6px;
  border-radius: 10px;
  margin-left: 8px;
}
.component-content[data-v-62d04b31] {
  flex: 1;
  overflow-y: auto;
  transition: all 0.3s ease;
  min-height: 0;
}
.component-content.collapsed[data-v-62d04b31] {
  display: none;
}
.subscription-list[data-v-62d04b31] {
  margin-bottom: 16px;
}
.empty-subscriptions[data-v-62d04b31] {
  text-align: center;
  color: #888;
  padding: 32px 0;
}
.subscription-grid[data-v-62d04b31] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 0px;
}
.subscription-card[data-v-62d04b31] {
  background-color: #fff;
  border-bottom: 1px solid #eee;
  border-left: 6px solid transparent;
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.subscription-card-selection[data-v-62d04b31] {
  width: 0px;
  height: 100%;
  background-color: transparent;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.2s;
}
.subscription-card-selection.selected[data-v-62d04b31] {
  background-color: #2e7d32;
}
.subscription-card[data-v-62d04b31]:hover {
  background-color: #f8f8f8;
  border-color: #d1d5da;
}
.subscription-card.selected[data-v-62d04b31] {
   border-left-color: #2e7d32;
   background-color: #f1f8e9;
}
.subscription-card.loading-card[data-v-62d04b31] {
   background-color: #f8f8f8;
   border-left-color: #0366d6;
   cursor: default;
}
.loading-placeholder[data-v-62d04b31] {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   padding: 20px;
   color: #586069;
   text-align: center;
}
.loading-placeholder .loading-spinner[data-v-62d04b31] {
   width: 24px;
   height: 24px;
   border: 2px solid #f6f8fa;
   border-top: 2px solid #0366d6;
   border-radius: 50%;
   animation: spin-62d04b31 1s linear infinite;
   margin-bottom: 8px;
}
.subscription-card-content[data-v-62d04b31] {
  padding: 12px;
  min-height: 140px;
  display: flex;
  flex-direction: column;
}

/* 图标和标题区域 */
.subscription-header[data-v-62d04b31] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.icon-container[data-v-62d04b31] {
  width: 28px;
  height: 28px;
  background-color: #efefef;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  border: solid 1px white;
  box-shadow: 0 0 2px 2px #00000022;
}
.favicon-icon[data-v-62d04b31] {
  width: 16px;
  height: 16px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 50%;
}
.default-icon[data-v-62d04b31] {
  width: 16px;
  height: 16px;
  color: #444;
}
.subscription-info[data-v-62d04b31] {
  flex: 1;
  min-width: 0;
}
.subscription-name[data-v-62d04b31] {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
  line-height: 1.4;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.subscription-subtitle[data-v-62d04b31] {
  font-size: 12px;
  color: #666;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
}

/* 内容详情区域 */
.subscription-content[data-v-62d04b31] {
  margin-bottom: 12px;
  max-height: 120px;
  overflow-y: auto;
  flex: 1;
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  padding: 8px;
  background-color: #fafafa;
}
.content-summary[data-v-62d04b31] {
  font-size: 12px;
  line-height: 1.5;
  color: #555;
}
.content-placeholder[data-v-62d04b31] {
  font-size: 12px;
  color: #999;
  font-style: italic;
  text-align: center;
  padding: 20px 0;
}
.markdown-content[data-v-62d04b31] {
  font-size: 12px;
  line-height: 1.6;
}

/* 添加markdown表格样式 */
.markdown-content[data-v-62d04b31] table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 16px;
  border: 1px solid #e0e0e0;
}
.markdown-content[data-v-62d04b31] th,
.markdown-content[data-v-62d04b31] td {
  padding: 8px 12px;
  text-align: left;
  border: 1px solid #e0e0e0;
  font-size: 11px;
}
.markdown-content[data-v-62d04b31] th {
  background-color: #f5f5f5;
  font-weight: 500;
}
.markdown-content[data-v-62d04b31] tr:nth-child(even) {
  background-color: #f9f9f9;
}
.markdown-content[data-v-62d04b31] tr:hover {
  background-color: #f2f2f2;
}
.markdown-content[data-v-62d04b31] h1 {
  font-size: 12px;
  font-weight: 600;
  color: #333;
  margin: 0 0 8px 0;
  border-left-width: 3px !important;
  border-left-style: solid !important;
  padding-left: 8px;
  border-left-color: orangered !important;
}
.markdown-content[data-v-62d04b31] h2 {
  font-size: 12px;
  font-weight: bold;
  unicode-bidi: isolate;
}
.markdown-content[data-v-62d04b31] ul {
  margin: 0 0 16px 0;
  padding-left: 16px;
}
.markdown-content[data-v-62d04b31] li {
  color: #666;
  margin-bottom: 4px;
}
.markdown-content[data-v-62d04b31] li:last-child {
  margin-bottom: 0;
}
.markdown-content[data-v-62d04b31] a {
  color: #1366ec;
}

/* 底部区域 */
.subscription-bottom[data-v-62d04b31] {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}

/* 元信息区域 */
.subscription-meta[data-v-62d04b31] {
  display: flex;
  align-items: center;
  font-size: 11px;
  color: #999;
}
.meta-item[data-v-62d04b31] {
  display: flex;
  align-items: center;
}
.meta-value[data-v-62d04b31] {
  color: #666;
  font-size: 11px;
}
.subscription-tags[data-v-62d04b31] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.tag[data-v-62d04b31] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px 2px 6px;
  border-radius: 12px;
  font-size: 11px;
  color: white;
  height: 18px;
  line-height: 18px;
  min-width: 36px;
  text-align: center;
  font-family: 'Microsoft Yahei';
}
.tag svg[data-v-62d04b31] {
  width: 12px;
  height: 12px;
}
.tag-data-type[data-v-62d04b31] {
  background-color: #4caf50;
}
.tag-schedule[data-v-62d04b31] {
  background-color: #0072c6;
}
.loading-subscriptions[data-v-62d04b31] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #586069;
  text-align: center;
}
.loading-subscriptions .loading-spinner[data-v-62d04b31] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-62d04b31 1s linear infinite;
  margin-bottom: 16px;
}
.load-more-container[data-v-62d04b31] {
  display: flex;
  justify-content: center;
  padding: 16px;
}
.load-more-button[data-v-62d04b31] {
  padding: 6px 16px;
  background-color: #0366d6;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.load-more-button[data-v-62d04b31]:hover {
  background-color: #005cc5;
}
.loading-more-state[data-v-62d04b31] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  color: #586069;
}
.loading-more-state .loading-spinner[data-v-62d04b31] {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border: 2px solid #f6f8fa;
  border-top: 2px solid #0366d6;
  border-radius: 50%;
  animation: spin-62d04b31 1s linear infinite;
}
@keyframes spin-62d04b31 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 自定义滚动条样式 */
[data-v-62d04b31]::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
[data-v-62d04b31]::-webkit-scrollbar-track {
  background: #f1f1f1;
}
[data-v-62d04b31]::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 2px;
}
[data-v-62d04b31]::-webkit-scrollbar-thumb:hover {
  background: #999;
}

/* 内容区域的滚动条样式 */
.subscription-content[data-v-62d04b31]::-webkit-scrollbar {
  width: 6px;
}
.subscription-content[data-v-62d04b31]::-webkit-scrollbar-track {
  background: #f8f8f8;
  border-radius: 3px;
}
.subscription-content[data-v-62d04b31]::-webkit-scrollbar-thumb {
  background: #ddd;
  border-radius: 3px;
}
.subscription-content[data-v-62d04b31]::-webkit-scrollbar-thumb:hover {
  background: #ccc;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/ContactInfo.vue?vue&type=style&index=0&id=2d128d7b&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.contact-info-container[data-v-2d128d7b] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.component-header[data-v-2d128d7b] {
  padding: 12px;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-title[data-v-2d128d7b] {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title .title-icon[data-v-2d128d7b] {
  color: #333 !important;
  flex-shrink: 0;
}
.add-contact-button[data-v-2d128d7b] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #1976d2;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.add-contact-button[data-v-2d128d7b]:hover {
  background-color: #1565c0;
}
.component-content[data-v-2d128d7b] {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}
.contact-search[data-v-2d128d7b] {
  padding: 16px;
  border-bottom: 1px solid #eee;
}
.contact-search input[data-v-2d128d7b] {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  width: calc(100% - 24px);
}
.contact-search input[data-v-2d128d7b]:focus {
  outline: none;
  border-color: #1976d2;
}
.contact-tabs[data-v-2d128d7b] {
  display: flex;
  margin-bottom: 0;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid #eee;
}
.contact-tab[data-v-2d128d7b] {
  background-color: #f5f5f5;
  border-radius: 16px;
  padding: 4px 12px;
  font-size: 13px;
  color: #555;
  cursor: pointer;
  transition: all 0.2s;
}
.contact-tab[data-v-2d128d7b]:hover {
  background-color: #e0e0e0;
}
.contact-tab.active[data-v-2d128d7b] {
  background-color: #e3f2fd;
  color: #1565c0;
}
.tab-divider[data-v-2d128d7b] {
  width: 1px;
  background-color: #eee;
  margin: 0 8px;
}
.group-tab[data-v-2d128d7b] {
  font-size: 12px;
}
.contacts-grid[data-v-2d128d7b] {
  display: flex;
  flex-direction: column;
}
.empty-contacts[data-v-2d128d7b] {
  text-align: center;
  color: #888;
  padding: 48px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.empty-contacts p[data-v-2d128d7b] {
  margin-top: 16px;
  font-size: 14px;
}
.contact-card[data-v-2d128d7b] {
  display: flex;
  padding: 12px;
  border-bottom: 1px solid #eaecef;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #ffffff;
  position: relative;
  align-items: flex-start;
  border-left: 6px solid transparent;
  min-height: 80px;
}
.contact-card[data-v-2d128d7b]:hover {
  border-color: #d1d5da;
  background-color: #f8f8f8;
}
.contact-card.selected[data-v-2d128d7b] {
  border-left-color: #2e7d32;
  background-color: #f1f8e9;
}
.contact-card-selection[data-v-2d128d7b] {
  width: 0px;
  height: 100%;
  background-color: transparent;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.2s;
}
.contact-card-selection.selected[data-v-2d128d7b] {
  background-color: #2e7d32;
}
.contact-card-header[data-v-2d128d7b] {
  flex: 0 0 auto;
  margin-right: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 60px;
}
.contact-name[data-v-2d128d7b] {
  font-size: 13px;
  font-weight: bold;
  color: #24292e;
  margin-top: 4px;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60px;
}
.contact-avatar[data-v-2d128d7b] {
  width: 40px;
  height: 40px;
  background-color: #e1f0fe;
  color: #0366d6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.contact-card-content[data-v-2d128d7b] {
  flex: 1;
  min-width: 0;
  padding-top: 4px;
}
.contact-info-row[data-v-2d128d7b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.contact-company[data-v-2d128d7b] {
  font-size: 13px;
  color: #24292e;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.contact-title-row[data-v-2d128d7b],
.contact-email-row[data-v-2d128d7b] {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}
.contact-title-row svg[data-v-2d128d7b],
.contact-email-row svg[data-v-2d128d7b] {
  flex-shrink: 0;
  color: #586069;
  margin-right: 8px;
}
.contact-title[data-v-2d128d7b] {
  font-size: 13px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.contact-email[data-v-2d128d7b] {
  font-size: 13px;
  color: #0366d6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  line-height: 1.4;
  margin-left: 0;
}
.contact-actions[data-v-2d128d7b] {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s ease;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2px;
  border-radius: 4px;
}
.contact-card:hover .contact-actions[data-v-2d128d7b] {
  opacity: 1;
}
.contact-action-button[data-v-2d128d7b] {
  background: none;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #586069;
  cursor: pointer;
  transition: all 0.2s ease;
}
.contact-action-button[data-v-2d128d7b]:hover {
  background-color: #f3f4f6;
  color: #0366d6;
}
.contact-action-button[title="删除"][data-v-2d128d7b]:hover {
  color: #cb2431;
}
.loading-state[data-v-2d128d7b],
.error-state[data-v-2d128d7b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #586069;
  text-align: center;
  height: 100%;
}
.loading-spinner[data-v-2d128d7b] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-2d128d7b 1s linear infinite;
}
@keyframes spin-2d128d7b {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-icon[data-v-2d128d7b] {
  width: 40px;
  height: 40px;
  background-color: #ffdce0;
  color: #cb2431;
  font-weight: bold;
  font-size: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.retry-button[data-v-2d128d7b] {
  padding: 6px 16px;
  background-color: #0366d6;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.retry-button[data-v-2d128d7b]:hover {
  background-color: #005cc5;
}
.modal[data-v-2d128d7b] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.modal-content[data-v-2d128d7b] {
  background-color: white;
  border-radius: 8px;
  padding: 20px;
  width: 400px;
  max-width: 90%;
}
.modal-content h3[data-v-2d128d7b] {
  margin-top: 0;
  color: #d32f2f;
}
.modal-actions[data-v-2d128d7b] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
}
.cancel-button[data-v-2d128d7b],
.delete-button[data-v-2d128d7b] {
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  border: none;
}
.cancel-button[data-v-2d128d7b] {
  background-color: #f5f5f5;
  color: #333;
}
.cancel-button[data-v-2d128d7b]:hover {
  background-color: #e0e0e0;
}
.delete-button[data-v-2d128d7b] {
  background-color: #d32f2f;
  color: white;
}
.delete-button[data-v-2d128d7b]:hover:not(:disabled) {
  background-color: #c62828;
}
.delete-button[data-v-2d128d7b]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* 美化滚动条 */
.component-content[data-v-2d128d7b]::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.component-content[data-v-2d128d7b]::-webkit-scrollbar-thumb {
  background-color: #d1d5da;
  border-radius: 3px;
}
.component-content[data-v-2d128d7b]::-webkit-scrollbar-track {
  background-color: transparent;
}
.component-content[data-v-2d128d7b]:hover::-webkit-scrollbar-thumb {
  background-color: #959da5;
}
.contact-selection-badge[data-v-2d128d7b] {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  background-color: #2e7d32;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.contact-relationship[data-v-2d128d7b] {
  font-size: 11px;
  color: #666;
  font-style: italic;
  margin-top: 4px;
}

/* 调研中状态样式 */
.contact-relationship .dots-animation[data-v-2d128d7b] {
  color: #1976d2;
  font-weight: bold;
  font-style: normal;
  display: inline-block;
  width: 20px;
  text-align: left;
}
.contact-relationship .dots-animation[data-v-2d128d7b]::after {
  content: '...';
  animation: blink-2d128d7b 1.5s infinite;
}

/* 点点动画 */
@keyframes blink-2d128d7b {
0%, 50% {
    opacity: 1;
}
51%, 100% {
    opacity: 0;
}
}
.load-more-container[data-v-2d128d7b] {
  display: flex;
  justify-content: center;
  padding: 16px;
}
.load-more-button[data-v-2d128d7b] {
  padding: 6px 16px;
  background-color: #0366d6;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.load-more-button[data-v-2d128d7b]:hover {
  background-color: #005cc5;
}
.loading-more-state[data-v-2d128d7b] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  color: #586069;
}
.loading-more-state .loading-spinner[data-v-2d128d7b] {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border-width: 2px;
}

/* 调研中的滚动条 */
.research-loading-bar[data-v-2d128d7b] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, 
    rgba(33, 150, 243, 0.1) 0%, 
    rgba(33, 150, 243, 0.5) 25%, 
    rgba(33, 150, 243, 1) 50%, 
    rgba(33, 150, 243, 0.5) 75%, 
    rgba(33, 150, 243, 0.1) 100%
  );
  background-size: 200% 100%;
  animation: research-wave-scroll-2d128d7b 2s ease-in-out infinite;
  z-index: 1;
  border-radius: 1.5px;
}
@keyframes research-wave-scroll-2d128d7b {
0% {
    background-position: 200% 0;
}
100% {
    background-position: -200% 0;
}
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/HscodeHelper.vue?vue&type=style&index=0&id=d2192eee&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.hscode-helper[data-v-d2192eee] {
  width: 360px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  border: 1px solid #e1e5e9;
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  animation: slideIn-d2192eee 0.2s ease-out;
  z-index: 10000 !important;
  position: fixed !important;
}
@keyframes slideIn-d2192eee {
from {
    opacity: 0;
    transform: translateY(-8px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.hscode-helper-header[data-v-d2192eee] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-bottom: 1px solid #e1e5e9;
  cursor: grab;
  transition: background-color 0.2s ease;
}
.hscode-helper-header[data-v-d2192eee]:active {
  cursor: grabbing;
}
.hscode-helper-header[data-v-d2192eee]:hover {
  background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
}
.hscode-helper-title[data-v-d2192eee] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #1a1a1a;
  font-size: 16px;
  flex: 1;
}
.hscode-icon[data-v-d2192eee] {
  color: #1976d2;
  flex-shrink: 0;
}
.header-actions[data-v-d2192eee] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.drag-handle[data-v-d2192eee] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  border-radius: 4px;
  cursor: grab;
  color: #6c757d;
  transition: all 0.2s ease;
}
.drag-handle[data-v-d2192eee]:hover {
  background: rgba(0, 0, 0, 0.05);
  color: #495057;
}
.drag-handle[data-v-d2192eee]:active {
  cursor: grabbing;
}
.close-button[data-v-d2192eee] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  color: #6c757d;
  transition: all 0.2s ease;
}
.close-button[data-v-d2192eee]:hover {
  background: rgba(0, 0, 0, 0.05);
  color: #495057;
}
.hscode-helper-content[data-v-d2192eee] {
  max-height: 400px;
  overflow-y: auto;
  padding: 20px;
}
.loading-state[data-v-d2192eee] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6c757d;
  justify-content: center;
  padding: 24px;
  font-size: 14px;
}
.button-loader[data-v-d2192eee] {
  width: 18px;
  height: 18px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #1976d2;
  border-radius: 50%;
  animation: spin-d2192eee 1s linear infinite;
}
@keyframes spin-d2192eee {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-state[data-v-d2192eee] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #dc3545;
  padding: 16px;
  background-color: #f8d7da;
  border-radius: 8px;
  border: 1px solid #f5c6cb;
  margin-bottom: 16px;
}
.error-icon[data-v-d2192eee] {
  flex-shrink: 0;
  color: #dc3545;
}
.error-message[data-v-d2192eee] {
  flex: 1;
  font-size: 14px;
  line-height: 1.4;
}
.retry-button[data-v-d2192eee] {
  padding: 6px 12px;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
}
.retry-button[data-v-d2192eee]:hover {
  background-color: #c82333;
  transform: translateY(-1px);
}
.selected-text[data-v-d2192eee] {
  margin-bottom: 20px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #e3f2fd 0%, #f1f8ff 100%);
  border-radius: 8px;
  font-size: 14px;
}
.text-content[data-v-d2192eee] {
  font-style: italic;
  color: #495057;
  line-height: 1.5;
  word-break: break-word;
}
.results-list[data-v-d2192eee] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.result-item[data-v-d2192eee] {
  padding: 8px 16px;
  border: 1px solid #e1e5e9;
  border-radius: 8px;
  background-color: #fafbfc;
  transition: all 0.2s ease;
}
.result-item[data-v-d2192eee]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}
.result-item.top-result[data-v-d2192eee] {
      /* border-color: #1976d2; */
  background: linear-gradient(135deg, #fdfae3 0%, #fefff1 100%);
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.15);
}
.result-header[data-v-d2192eee] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.hs-code[data-v-d2192eee] {
  font-family: Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 700;
  color: #4f4f4f;
  padding: 6px 12px;
}
.probability[data-v-d2192eee] {
  font-family: Arial, sans-serif !important;
  font-size: 12px;
  font-weight: 700;
  color: #28a745;
  background-color: #d4edda;
  padding: 4px 8px;
  border-radius: 12px;
  border: 1px solid #c3e6cb;
}
.restrictions[data-v-d2192eee] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}
.restriction-label[data-v-d2192eee] {
  font-size: 13px;
  color: #6c757d;
  font-weight: 600;
  margin-top: 2px;
}
.restriction-tags[data-v-d2192eee] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.restriction-tag[data-v-d2192eee] {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  border: 1px solid;
}
.restriction-import[data-v-d2192eee] {
  background-color: #fff3cd;
  color: #856404;
  border-color: #ffeaa7;
}
.restriction-export[data-v-d2192eee] {
  background-color: #f8d7da;
  color: #721c24;
  border-color: #f5c6cb;
}
.restriction-science[data-v-d2192eee] {
  background-color: #d1ecf1;
  color: #0c5460;
  border-color: #bee5eb;
}
.restriction-default[data-v-d2192eee] {
  background-color: #e2e3e5;
  color: #383d41;
  border-color: #d6d8db;
}
.no-results[data-v-d2192eee] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6c757d;
  justify-content: center;
  padding: 32px 20px;
  text-align: center;
}
.no-results-icon[data-v-d2192eee] {
  flex-shrink: 0;
  color: #adb5bd;
}
.no-results-message[data-v-d2192eee] {
  font-size: 14px;
  font-weight: 500;
}

/* 滚动条样式 */
.hscode-helper-content[data-v-d2192eee]::-webkit-scrollbar {
  width: 4px;
}
.hscode-helper-content[data-v-d2192eee]::-webkit-scrollbar-thumb {
  background-color: #d1d5da;
  border-radius: 2px;
}
.hscode-helper-content[data-v-d2192eee]::-webkit-scrollbar-track {
  background-color: transparent;
}
.hscode-helper-content[data-v-d2192eee]:hover::-webkit-scrollbar-thumb {
  background-color: #959da5;
}

/* 响应式设计 */
@media (max-width: 768px) {
.hscode-helper[data-v-d2192eee] {
    width: 320px;
}
.hscode-helper-header[data-v-d2192eee] {
    padding: 12px 16px;
}
.hscode-helper-title[data-v-d2192eee] {
    font-size: 14px;
}
.hscode-helper-content[data-v-d2192eee] {
    padding: 16px;
}
.hs-code[data-v-d2192eee] {
    font-size: 16px;
    padding: 4px 8px;
}
.probability[data-v-d2192eee] {
    font-size: 14px;
}
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/WaybillHelper.vue?vue&type=style&index=0&id=0df54711&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.waybill-helper[data-v-0df54711] {
  width: 420px;
  max-width: calc(100vw - 40px);
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  border: 1px solid #e1e5e9;
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  animation: slideIn-0df54711 0.2s ease-out;
  z-index: 10000 !important;
  position: fixed !important;
}
@keyframes slideIn-0df54711 {
from {
    opacity: 0;
    transform: translateY(-8px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.waybill-helper-header[data-v-0df54711] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, #fff8f0 0%, #ffe8d6 100%);
  border-bottom: 1px solid #e1e5e9;
  cursor: grab;
  transition: background-color 0.2s ease;
}
.waybill-helper-header[data-v-0df54711]:active {
  cursor: grabbing;
}
.waybill-helper-header[data-v-0df54711]:hover {
  background: linear-gradient(135deg, #ffe8d6 0%, #ffd9bc 100%);
}
.waybill-helper-title[data-v-0df54711] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #1a1a1a;
  font-size: 16px;
  flex: 1;
}
.waybill-icon[data-v-0df54711] {
  color: #ff6b35;
  flex-shrink: 0;
}
.header-actions[data-v-0df54711] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.drag-handle[data-v-0df54711] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  border-radius: 4px;
  cursor: grab;
  color: #6c757d;
  transition: all 0.2s ease;
}
.drag-handle[data-v-0df54711]:hover {
  background: rgba(0, 0, 0, 0.05);
  color: #495057;
}
.drag-handle[data-v-0df54711]:active {
  cursor: grabbing;
}
.close-button[data-v-0df54711] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  color: #6c757d;
  transition: all 0.2s ease;
}
.close-button[data-v-0df54711]:hover {
  background: rgba(0, 0, 0, 0.05);
  color: #495057;
}
.waybill-helper-content[data-v-0df54711] {
  max-height: 500px;
  overflow-y: auto;
  padding: 20px;
}
.loading-state[data-v-0df54711] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6c757d;
  justify-content: center;
  padding: 24px;
  font-size: 14px;
}
.button-loader[data-v-0df54711] {
  width: 18px;
  height: 18px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #ff6b35;
  border-radius: 50%;
  animation: spin-0df54711 1s linear infinite;
}
@keyframes spin-0df54711 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-state[data-v-0df54711] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  color: #dc3545;
  padding: 16px;
  background-color: #f8d7da;
  border-radius: 8px;
  border: 1px solid #f5c6cb;
}
.error-icon[data-v-0df54711] {
  flex-shrink: 0;
  color: #dc3545;
}
.error-message[data-v-0df54711] {
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}
.retry-button[data-v-0df54711] {
  padding: 6px 12px;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
}
.retry-button[data-v-0df54711]:hover {
  background-color: #c82333;
  transform: translateY(-1px);
}
.waybill-number[data-v-0df54711] {
  margin-bottom: 16px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #fff8f0 0%, #fef5ed 100%);
  border-radius: 8px;
  font-size: 14px;
}
.number-content[data-v-0df54711] {
  font-family: 'Courier New', monospace;
  font-weight: 600;
  color: #ff6b35;
  font-size: 15px;
  word-break: break-all;
}
.waybill-info[data-v-0df54711] {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.info-row[data-v-0df54711] {
  display: flex;
  align-items: center;
  padding: 6px 0;
  font-size: 14px;
}
.info-row[data-v-0df54711]:not(:last-child) {
  border-bottom: 1px solid #e9ecef;
}
.info-label[data-v-0df54711] {
  color: #6c757d;
  font-weight: 500;
  min-width: 80px;
  flex-shrink: 0;
}
.info-value[data-v-0df54711] {
  color: #495057;
  flex: 1;
}
.status-badge[data-v-0df54711] {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid;
}
.status-delivered[data-v-0df54711] {
  background-color: #d4edda;
  color: #155724;
  border-color: #c3e6cb;
}
.status-in-transit[data-v-0df54711] {
  background-color: #d1ecf1;
  color: #0c5460;
  border-color: #bee5eb;
}
.status-pending[data-v-0df54711] {
  background-color: #fff3cd;
  color: #856404;
  border-color: #ffeaa7;
}
.status-exception[data-v-0df54711] {
  background-color: #f8d7da;
  color: #721c24;
  border-color: #f5c6cb;
}
.status-default[data-v-0df54711] {
  background-color: #e2e3e5;
  color: #383d41;
  border-color: #d6d8db;
}
.segments-info[data-v-0df54711] {
  margin-top: 16px;
  background: #f8f9fa;
  border-radius: 8px;
  padding: 12px 16px;
}
.segments-title[data-v-0df54711] {
  font-size: 14px;
  font-weight: 600;
  color: #495057;
  margin-bottom: 12px;
}
.segments-list[data-v-0df54711] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.segment-item[data-v-0df54711] {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 10px 12px;
}
.segment-route[data-v-0df54711] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.segment-location[data-v-0df54711] {
  font-size: 14px;
  font-weight: 600;
  color: #495057;
}
.segment-arrow[data-v-0df54711] {
  color: #6c757d;
  flex-shrink: 0;
}
.segment-details[data-v-0df54711] {
  display: flex;
  gap: 12px;
  margin-bottom: 6px;
}
.segment-flight[data-v-0df54711],
.segment-vessel[data-v-0df54711] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #6c757d;
}
.segment-flight svg[data-v-0df54711],
.segment-vessel svg[data-v-0df54711] {
  flex-shrink: 0;
}
.segment-time[data-v-0df54711] {
  font-size: 12px;
  color: #6c757d;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.tracking-timeline[data-v-0df54711] {
  margin-top: 16px;
}
.timeline-title[data-v-0df54711] {
  font-size: 14px;
  font-weight: 600;
  color: #495057;
  margin-bottom: 12px;
}
.timeline-list[data-v-0df54711] {
  position: relative;
  padding-left: 24px;
}
.timeline-item[data-v-0df54711] {
  position: relative;
  padding-bottom: 20px;
}
.timeline-item[data-v-0df54711]:not(:last-child)::before {
  content: '';
  position: absolute;
  left: -18px;
  top: 12px;
  bottom: -8px;
  width: 2px;
  background: #dee2e6;
}
.timeline-dot[data-v-0df54711] {
  position: absolute;
  left: -23px;
  top: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: white;
  border: 2px solid #dee2e6;
}
.timeline-item-first .timeline-dot[data-v-0df54711] {
  background: #ff6b35;
  border-color: #ff6b35;
}
.timeline-content[data-v-0df54711] {
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 10px 12px;
}
.timeline-header[data-v-0df54711] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}
.timeline-time[data-v-0df54711] {
  font-size: 12px;
  color: #6c757d;
}
.timeline-status-code[data-v-0df54711] {
  font-size: 11px;
  font-weight: 600;
  color: #6c757d;
  background: #e9ecef;
  padding: 2px 6px;
  border-radius: 4px;
}
.timeline-status[data-v-0df54711] {
  font-size: 13px;
  font-weight: 600;
  color: #495057;
  margin-bottom: 2px;
}
.timeline-location[data-v-0df54711] {
  font-size: 13px;
  color: #6c757d;
  margin-bottom: 2px;
}
.timeline-extra[data-v-0df54711] {
  font-size: 12px;
  color: #6c757d;
  margin-top: 4px;
}
.extra-label[data-v-0df54711] {
  color: #868e96;
  font-weight: 500;
}
.no-results[data-v-0df54711] {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #6c757d;
  justify-content: center;
  padding: 32px 20px;
  text-align: center;
}
.no-results-icon[data-v-0df54711] {
  flex-shrink: 0;
  color: #adb5bd;
}
.no-results-message[data-v-0df54711] {
  font-size: 14px;
  font-weight: 500;
}

/* 滚动条样式 */
.waybill-helper-content[data-v-0df54711]::-webkit-scrollbar {
  width: 4px;
}
.waybill-helper-content[data-v-0df54711]::-webkit-scrollbar-thumb {
  background-color: #d1d5da;
  border-radius: 2px;
}
.waybill-helper-content[data-v-0df54711]::-webkit-scrollbar-track {
  background-color: transparent;
}
.waybill-helper-content[data-v-0df54711]:hover::-webkit-scrollbar-thumb {
  background-color: #959da5;
}

/* 响应式设计 */
@media (max-width: 768px) {
.waybill-helper[data-v-0df54711] {
    width: 340px;
}
.waybill-helper-header[data-v-0df54711] {
    padding: 12px 16px;
}
.waybill-helper-title[data-v-0df54711] {
    font-size: 14px;
}
.waybill-helper-content[data-v-0df54711] {
    padding: 16px;
}
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/SelectionToolbar.vue?vue&type=style&index=0&id=6853cb92&scoped=true&lang=css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 文本选择工具条样式 */
.selection-toolbar[data-v-6853cb92] {
  position: absolute;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(225, 228, 232, 0.8);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 8px;
  display: flex;
  gap: 6px;
  z-index: 9999;
  pointer-events: auto;
  animation: toolbarSlideIn-6853cb92 0.2s ease-out;
}
@keyframes toolbarSlideIn-6853cb92 {
from {
    opacity: 0;
    transform: translateY(-8px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.toolbar-icon[data-v-6853cb92] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-radius: 6px;
}
.toolbar-icon[data-v-6853cb92]:hover {
  transform: scale(1.1);
  background: rgba(255, 255, 255, 0.1);
}
.toolbar-icon[data-v-6853cb92]:active {
  transform: scale(0.95);
}
.toolbar-icon[data-v-6853cb92]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}
.toolbar-icon[data-v-6853cb92]:disabled:hover {
  transform: none;
  background: none;
}

/* 图标加载动画 */
.icon-loader[data-v-6853cb92] {
  width: 20px;
  height: 20px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: spin-6853cb92 1s linear infinite;
}
@keyframes spin-6853cb92 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 图标工具提示 */
.icon-tooltip[data-v-6853cb92] {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.9);
  color: white;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  pointer-events: none;
  z-index: 10000;
  margin-bottom: 8px;
}
.icon-tooltip[data-v-6853cb92]::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.9);
}
.toolbar-icon:hover .icon-tooltip[data-v-6853cb92] {
  opacity: 1;
  visibility: visible;
}
.tooltip-title[data-v-6853cb92] {
  font-weight: 600;
  margin-bottom: 2px;
}
.tooltip-desc[data-v-6853cb92] {
  font-size: 11px;
  opacity: 0.8;
}

/* HSCode图标样式 */
.hscode-icon[data-v-6853cb92] {
  color: #222;
}
.hscode-icon[data-v-6853cb92]:hover {
  color: #444;
  background: rgba(25, 118, 210, 0.1);
}

/* 运单追踪图标样式 */
.tracking-icon[data-v-6853cb92] {
  color: #222;
}
.tracking-icon[data-v-6853cb92]:hover {
  color: #444;
  background: rgba(255, 107, 53, 0.1);
}

/* 航班追踪图标样式 - 已注释 */
/* .flight-icon {
  color: #222;
}

.flight-icon:hover {
  color: #444;
  background: rgba(76, 175, 80, 0.1);
} */

/* 解析联系人图标样式 */
.contact-icon[data-v-6853cb92] {
  color: #222;
}
.contact-icon[data-v-6853cb92]:hover {
  color: #444;
  background: rgba(156, 39, 176, 0.1);
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/EmailDetailContent.vue?vue&type=style&index=0&id=bfa33aa2&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.mail-detail-content[data-v-bfa33aa2] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.mail-detail-header[data-v-bfa33aa2] {
  padding: 16px;
  border-bottom: 1px solid #eaecef;
  border-top: 1px solid #eaecef;
}
.calendar-event-card[data-v-bfa33aa2] {
  margin: 12px 16px 0;
  border-radius: 8px;
  border: 1px solid #e1e4e8;
  background: #f5fbff;
  padding: 12px 14px;
}
.calendar-event-header[data-v-bfa33aa2] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.calendar-event-icon[data-v-bfa33aa2] {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: #0366d6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.calendar-event-main[data-v-bfa33aa2] {
  flex: 1;
  min-width: 0;
}
.calendar-event-title[data-v-bfa33aa2] {
  font-size: 15px;
  font-weight: 600;
  color: #24292e;
  margin-bottom: 4px;
}
.calendar-event-time[data-v-bfa33aa2] {
  font-size: 13px;
  color: #586069;
  margin-bottom: 4px;
}
.calendar-event-location[data-v-bfa33aa2] {
  font-size: 13px;
  color: #586069;
}
.calendar-event-status[data-v-bfa33aa2] {
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid #0366d6;
  color: #0366d6;
  white-space: nowrap;
  margin-left: 8px;
}
.calendar-event-meta[data-v-bfa33aa2] {
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  font-size: 12px;
  color: #586069;
}
.calendar-event-meta-item .label[data-v-bfa33aa2] {
  font-weight: 500;
  margin-right: 4px;
}
.calendar-event-meta-item .value[data-v-bfa33aa2] {
  color: #24292e;
}
.calendar-event-actions[data-v-bfa33aa2] {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.calendar-btn[data-v-bfa33aa2] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid transparent;
  background-color: #f8f9fa;
  color: #495057;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}
.calendar-btn[data-v-bfa33aa2]:hover {
  background-color: #e2edff;
  border-color: #b5d0ff;
}
.calendar-btn.primary[data-v-bfa33aa2] {
  /* 保留占位，当前未使用 */
}
.calendar-btn.link[data-v-bfa33aa2] {
  background-color: transparent;
  border-color: transparent;
  color: #0366d6;
}
.calendar-btn.link[data-v-bfa33aa2]:hover {
  background-color: #eaf3ff;
  border-color: transparent;
}
.calendar-btn-icon[data-v-bfa33aa2] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.calendar-btn-label[data-v-bfa33aa2] {
  white-space: nowrap;
}

/* 接受：浅绿 -> 深绿 */
.calendar-btn.accept[data-v-bfa33aa2] {
  background-color: #e9f7ef;
  border-color: #badbcc;
  color: #0f5132;
}
.calendar-btn.accept[data-v-bfa33aa2]:hover {
  background-color: #d1e7dd;
  border-color: #a3cfbb;
}
.calendar-btn.accept.active[data-v-bfa33aa2] {
  background-color: #198754;
  border-color: #198754;
  color: #fff;
}

/* 拒绝：浅红 -> 深红 */
.calendar-btn.decline[data-v-bfa33aa2] {
  background-color: #f8d7da;
  border-color: #f5c2c7;
  color: #842029;
}
.calendar-btn.decline[data-v-bfa33aa2]:hover {
  background-color: #f5c2c7;
  border-color: #f1949c;
}
.calendar-btn.decline.active[data-v-bfa33aa2] {
  background-color: #dc3545;
  border-color: #dc3545;
  color: #fff;
}

/* 暂定：无色 -> 浅黄 */
.calendar-btn.tentative[data-v-bfa33aa2] {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  color: #495057;
}
.calendar-btn.tentative[data-v-bfa33aa2]:hover {
  background-color: #e9ecef;
  border-color: #ced4da;
}
.calendar-btn.tentative.active[data-v-bfa33aa2] {
  background-color: #fff3cd;
  border-color: #ffecb5;
  color: #664d03;
}
.clickable-header[data-v-bfa33aa2] {
  cursor: pointer;
}
.clickable-header[data-v-bfa33aa2]:hover {
  background-color: #f6f8fa;
}
.mail-detail-subject[data-v-bfa33aa2] {
  font-size: 18px;
  font-weight: 600;
  color: #24292e;
  margin-bottom: 16px;
  line-height: 1.3;
}
.mail-detail-tags[data-v-bfa33aa2] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
}
.mail-detail-tag[data-v-bfa33aa2] {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
}
.tag-template-generated[data-v-bfa33aa2] {
  background-color: #e1f5fe;
  color: #0277bd;
}
.tag-default[data-v-bfa33aa2] {
  background-color: #f1f3f4;
  color: #5f6368;
}
.mail-detail-info[data-v-bfa33aa2] {
  margin-bottom: 0;
}
.mail-info-wrapper[data-v-bfa33aa2] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
}
.mail-info-left[data-v-bfa33aa2] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: row;
  width: 100%;
}
.mail-detail-sender[data-v-bfa33aa2] {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0;
}
.sender-avatar[data-v-bfa33aa2] {
  width: 40px;
  height: 40px;
  background-color: #e1f0fe;
  color: #0366d6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 16px;
  margin-right: 12px;
  flex-shrink: 0;
}
.user-avatar[data-v-bfa33aa2] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sender-info[data-v-bfa33aa2] {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.sender-name-row[data-v-bfa33aa2] {
  display: flex;
  align-items: center;
  width: 100%;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.sender-name[data-v-bfa33aa2] {
  font-weight: 500;
  font-size: 15px;
  color: #24292e;
  margin-right: 8px;
  white-space: nowrap;
  cursor: pointer;
}
.sender-name[data-v-bfa33aa2]:hover {
  color: #0366d6;
}
.sender-address[data-v-bfa33aa2] {
  font-size: 13px;
  color: #586069;
  white-space: nowrap;
}
.mail-detail-recipients[data-v-bfa33aa2] {
  display: flex;
  font-size: 14px;
  color: #24292e;
  margin-top: 4px;
}
.cc-recipients[data-v-bfa33aa2] {
  margin-top: 2px;
}
.recipient-label[data-v-bfa33aa2] {
  font-weight: 500;
  margin-right: 8px;
  min-width: 50px;
  white-space: nowrap;
}
.recipient-list[data-v-bfa33aa2] {
  color: #586069;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  flex-wrap: wrap;
}
.recipient-list span[data-v-bfa33aa2] {
  cursor: pointer;
}
.recipient-list span[data-v-bfa33aa2]:hover {
  color: #0366d6;
}
.current-user-recipient[data-v-bfa33aa2] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.recipient-avatar[data-v-bfa33aa2] {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mail-info-actions[data-v-bfa33aa2] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-left: auto;
  padding-left: 16px;
}
.mail-detail-date[data-v-bfa33aa2] {
  font-size: 12px;
  color: #586069;
  white-space: nowrap;
  margin-top: 4px;
  text-align: right;
}
.mail-action-buttons[data-v-bfa33aa2] {
  display: flex;
  gap: 6px;
  margin-top: 12px;
  flex-wrap: wrap;
}

/* 带附件功能的回复按钮样式 */
.reply-button-with-attachment[data-v-bfa33aa2] {
  position: relative;
  overflow: visible;
  transition: padding-right 0.3s ease;
}

/* 当附件图标显示时，给按钮留出右侧空间 */
.reply-button-with-attachment.expanded[data-v-bfa33aa2] {
  padding-right: 36px;
}

/* 按钮内部的附件图标 */
.attachment-icon[data-v-bfa33aa2] {
  position: absolute;
  right: 6px;
  width: 20px;
  height: calc(100% - 6px);
  background: none;
  border-left: 1px solid #aaa;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  color: #666;
  z-index: 2;
}
.attachment-icon.show[data-v-bfa33aa2] {
  opacity: 1;
  pointer-events: auto;
}
.attachment-icon[data-v-bfa33aa2]:hover {
  border-left: 1px solid #aaa;
}
.mail-action-button[data-v-bfa33aa2] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  background-color: #f6f8fa;
  color: #24292e;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.mail-action-button[data-v-bfa33aa2]:hover {
  background-color: #e1e4e8;
}
.mail-action-button[data-v-bfa33aa2]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.mail-action-button.danger[data-v-bfa33aa2] {
  color: #cb2431;
}
.mail-action-button.danger[data-v-bfa33aa2]:hover {
  background-color: #ffdce0;
  border-color: #cb2431;
}
.button-loader[data-v-bfa33aa2] {
  width: 12px;
  height: 12px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #0366d6;
  border-radius: 50%;
  animation: spin-bfa33aa2 1s linear infinite;
}
@keyframes spin-bfa33aa2 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.mail-detail-body[data-v-bfa33aa2] {
  flex: 1;
  overflow: auto;
  padding: 16px;
  font-size: 14px;
  line-height: 1.5;
  color: #24292e;
  position:relative;
}
.mail-html-body[data-v-bfa33aa2] {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.mail-text-body[data-v-bfa33aa2] {
  white-space: pre-wrap;
}
.mail-empty-body[data-v-bfa33aa2] {
  color: #586069;
  font-style: italic;
  text-align: center;
  padding: 32px;
}

/* 附件相关样式 */
.mail-attachments[data-v-bfa33aa2] {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #eaecef;
}
.attachments-header[data-v-bfa33aa2] {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 8px;
}
.attachment-loading[data-v-bfa33aa2],
.attachment-error[data-v-bfa33aa2] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #586069;
  font-size: 14px;
}
.attachments-list[data-v-bfa33aa2] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.attachment-item[data-v-bfa33aa2] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background-color: #f6f8fa;
  border: 1px dashed #e1e4e8;
  border-radius: 6px;
  color: #586069;
  min-width: 200px;
}
.attachment-icon[data-v-bfa33aa2] {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.attachment-info[data-v-bfa33aa2] {
  flex: 1;
  min-width: 0;
}
.attachment-name[data-v-bfa33aa2] {
  font-size: 14px;
  font-weight: 500;
  color: #24292e;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.attachment-size[data-v-bfa33aa2] {
  font-size: 12px;
  color: #586069;
  white-space: nowrap;
}
.attachment-actions[data-v-bfa33aa2] {
  display: flex;
  gap: 4px;
}
.download-attachment[data-v-bfa33aa2] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: #0366d6;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.download-attachment[data-v-bfa33aa2]:hover:not(:disabled) {
  background-color: #0256cc;
}
.download-attachment[data-v-bfa33aa2]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.retry-button[data-v-bfa33aa2] {
  padding: 4px 8px;
  background-color: #0366d6;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
}
.retry-button[data-v-bfa33aa2]:hover {
  background-color: #0256cc;
}
.retry-button.small[data-v-bfa33aa2] {
  padding: 2px 6px;
  font-size: 11px;
}
.no-attachments[data-v-bfa33aa2] {
  color: #586069;
  font-size: 14px;
  font-style: italic;
}

/* 禁用浏览器默认选择菜单 */
.mail-detail-body[data-v-bfa33aa2] {
  -webkit-user-select: text;
  -moz-user-select: text;
  user-select: text;
  /* 禁用触摸设备的上下文菜单 */
  -webkit-touch-callout: none !important;
  /* 禁用长按菜单 */
  -webkit-tap-highlight-color: transparent !important;
  /* 禁用所有可能的菜单 */
  -webkit-context-menu: none !important;
  -moz-context-menu: none !important;
  -ms-context-menu: none !important;
  /* 强制禁用选择后的菜单 */
  -webkit-user-drag: none !important;
  -khtml-user-drag: none !important;
  -moz-user-drag: none !important;
  -o-user-drag: none !important;
}
.mail-detail-body[data-v-bfa33aa2]::-webkit-selection {
  background-color: rgba(3, 102, 214, 0.2);
}
.mail-detail-body[data-v-bfa33aa2]::-moz-selection {
  background-color: rgba(3, 102, 214, 0.2);
}
.mail-detail-body[data-v-bfa33aa2]::selection {
  background-color: rgba(3, 102, 214, 0.2);
}

/* 隐藏浏览器默认的选择菜单 */
.mail-detail-body[data-v-bfa33aa2] * {
  -webkit-touch-callout: none !important;
  -webkit-user-select: text;
  -moz-user-select: text;
  user-select: text;
  /* 禁用所有可能的上下文菜单 */
  -webkit-context-menu: none;
  -moz-context-menu: none;
  -ms-context-menu: none;
}

/* 禁用浏览器选择后的默认行为 */
.mail-detail-body[data-v-bfa33aa2]::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: -1;
}



/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/InquiryTaskView.vue?vue&type=style&index=0&id=01bd5584&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.inquiry-task-view[data-v-01bd5584] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  overflow: hidden;
}

/* 头部样式 */
.task-header[data-v-01bd5584] {
  border-bottom: 1px solid #e1e5e9;
  background-color: #f8f9fa;
  padding: 16px 24px;
}
.header-tabs[data-v-01bd5584] {
  display: flex;
  gap: 24px;
  margin-bottom: 16px;
}
.tab-item[data-v-01bd5584] {
  padding: 8px 16px;
  cursor: pointer;
  border-radius: 6px;
  font-weight: 500;
  color: #586069;
  transition: all 0.2s ease;
}
.tab-item[data-v-01bd5584]:hover {
  background-color: #e9ecef;
  color: #24292e;
}
.tab-item.active[data-v-01bd5584] {
  background-color: #0366d6;
  color: white;
}
.header-content[data-v-01bd5584] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.task-title-header[data-v-01bd5584] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.task-avatar[data-v-01bd5584] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

/* 运输方式头像样式 */
.transport-avatar[data-v-01bd5584] {
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  transition: all 0.2s ease;
}
.transport-avatar.sea[data-v-01bd5584] {
  background: #e3f2fd;
  border-color: #2196f3;
  color: #1976d2;
}
.transport-avatar.air[data-v-01bd5584] {
  background: #fff3e0;
  border-color: #ff9800;
  color: #f57c00;
}
.transport-avatar.land[data-v-01bd5584] {
  background: #e8f5e8;
  border-color: #4caf50;
  color: #388e3c;
}
.transport-avatar svg[data-v-01bd5584] {
  width: 20px;
  height: 20px;
}
.task-title-content[data-v-01bd5584] {
  flex: 1;
  min-width: 0;
}
.task-title-content h2[data-v-01bd5584] {
  margin: 0 0 8px 0;
  font-size: 18px;
  font-weight: 600;
  color: #24292e;
}
.task-meta[data-v-01bd5584] {
  display: flex;
  gap: 16px;
  font-size: 14px;
  color: #586069;
}
.task-route[data-v-01bd5584] {
  font-weight: 500;
  color: #0366d6;
}
.task-status[data-v-01bd5584] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.status-tag[data-v-01bd5584] {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}
.status-tag.pending[data-v-01bd5584] {
  background-color: #fff3cd;
  color: #856404;
}
.status-tag.processing[data-v-01bd5584] {
  background-color: #d1ecf1;
  color: #0c5460;
}
.status-tag.completed[data-v-01bd5584] {
  background-color: #d4edda;
  color: #155724;
}
.status-tag.failed[data-v-01bd5584] {
  background-color: #f8d7da;
  color: #721c24;
}
.status-tag.completed[data-v-01bd5584] {
  background-color: #e3f2fd;
  color: #1976d2;
}

/* 内容区域 */
.task-content[data-v-01bd5584],
.emails-content[data-v-01bd5584] {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

/* 概览卡片 */
.overview-cards[data-v-01bd5584] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  margin-bottom: 32px;
}
.overview-card[data-v-01bd5584] {
  background: white;
  border: 1px solid #e1e5e9;
  border-radius: 8px;
  padding: 20px;
}
.card-title[data-v-01bd5584] {
  font-size: 16px;
  font-weight: 600;
  color: #24292e;
  margin-bottom: 16px;
}
.card-content[data-v-01bd5584] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stat-item[data-v-01bd5584] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.stat-label[data-v-01bd5584] {
  color: #586069;
  font-size: 14px;
}
.stat-value[data-v-01bd5584] {
  font-weight: 600;
  font-size: 16px;
  color: #24292e;
}
.stat-value.success[data-v-01bd5584] {
  color: #28a745;
}
.stat-value.error[data-v-01bd5584] {
  color: #dc3545;
}
.stat-value.warning[data-v-01bd5584] {
  color: #ffc107;
}

/* 进度条 */
.progress-section[data-v-01bd5584] {
  margin-bottom: 32px;
}
.progress-header[data-v-01bd5584] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.section-title-with-icon[data-v-01bd5584] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.section-icon[data-v-01bd5584] {
  flex-shrink: 0;
}
.progress-title[data-v-01bd5584] {
  font-size: 14px;
  font-weight: 600;
  color: #24292e;
}
.progress-percentage[data-v-01bd5584] {
  font-size: 16px;
  font-weight: 600;
  color: #0366d6;
}
.progress-bar[data-v-01bd5584] {
  height: 8px;
  background-color: #e1e5e9;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}
.progress-fill[data-v-01bd5584] {
  height: 100%;
  background: linear-gradient(90deg, #0366d6, #28a745);
  transition: width 0.3s ease;
}
.progress-detail[data-v-01bd5584] {
  font-size: 14px;
  color: #586069;
}

/* 整体总结部分 */
.overall-summary-section[data-v-01bd5584] {
  margin-bottom: 32px;
}
.overall-summary-card[data-v-01bd5584] {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 1px solid #dee2e6;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.overall-summary-content[data-v-01bd5584] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.summary-text[data-v-01bd5584] {
  font-size: 16px;
  line-height: 1.8;
  color: #24292e;
}
.summary-meta[data-v-01bd5584] {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: #586069;
}
.summary-date[data-v-01bd5584],
.summary-model[data-v-01bd5584] {
  background: rgba(3, 102, 214, 0.1);
  padding: 4px 8px;
  border-radius: 4px;
}

/* 总结部分 */
.summary-section[data-v-01bd5584] {
  margin-bottom: 32px;
}
.section-title[data-v-01bd5584] {
  font-size: 15px;
  font-weight: 600;
  color: #24292e;
}
.summary-cards[data-v-01bd5584] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.summary-card[data-v-01bd5584] {
  background: white;
  border: 1px solid #e1e5e9;
  border-radius: 8px;
  padding: 20px;
}
.summary-header[data-v-01bd5584] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e1e5e9;
}
.conversation-info[data-v-01bd5584] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.conversation-id[data-v-01bd5584] {
  font-weight: 600;
  color: #24292e;
}
.email-count[data-v-01bd5584] {
  font-size: 12px;
  color: #586069;
  background-color: #f6f8fa;
  padding: 2px 8px;
  border-radius: 12px;
}
.summary-date[data-v-01bd5584] {
  font-size: 12px;
  color: #586069;
}
.summary-content[data-v-01bd5584] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.features-section[data-v-01bd5584],
.local-charges-section[data-v-01bd5584],
.special-requirements-section[data-v-01bd5584] {
  border-radius: 6px;
}
.features-title[data-v-01bd5584],
.charges-title[data-v-01bd5584],
.requirements-title[data-v-01bd5584] {
  font-size: 14px;
  font-weight: 600;
  color: #24292e;
  margin-bottom: 12px;
}
.features-grid[data-v-01bd5584] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}
.feature-item[data-v-01bd5584] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.feature-label[data-v-01bd5584] {
  font-size: 12px;
  color: #586069;
  font-weight: 500;
}
.feature-value[data-v-01bd5584] {
  font-size: 14px;
  color: #24292e;
  font-weight: 500;
}
.charges-list[data-v-01bd5584] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.charge-item[data-v-01bd5584] {
  font-size: 14px;
  color: #24292e;
  padding: 8px 12px;
  background-color: white;
  border-radius: 4px;
  border: solid 1px #eee;
  border-left: 3px solid #0366d6;
}
.requirements-content[data-v-01bd5584] {
  font-size: 14px;
  color: #24292e;
  line-height: 1.5;
}

/* 无总结提示 */
.no-summary[data-v-01bd5584] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  color: #586069;
  text-align: center;
}
.no-summary-icon[data-v-01bd5584] {
  margin-bottom: 16px;
  opacity: 0.5;
}
.no-summary p[data-v-01bd5584] {
  margin: 0 0 8px 0;
  font-size: 16px;
}
.no-summary-hint[data-v-01bd5584] {
  font-size: 14px;
  color: #8c959f;
}


/* 滚动条样式 */
.task-content[data-v-01bd5584]::-webkit-scrollbar {
  width: 6px;
}
.task-content[data-v-01bd5584]::-webkit-scrollbar-track {
  background: transparent;
}
.task-content[data-v-01bd5584]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.task-content[data-v-01bd5584]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/InquiryTaskView.vue?vue&type=style&index=1&id=01bd5584&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 非scoped样式，专门用于v-html渲染的内容 */
.summary-text table {
  border-collapse: collapse !important;
  width: 100% !important;
  margin: 16px 0 !important;
  border: 1px solid #d0d7de !important;
  background: #ffffff !important;
}
.summary-text th,
.summary-text td {
  border: 1px solid #d0d7de !important;
  padding: 8px 12px !important;
  text-align: left !important;
  vertical-align: top !important;
}
.summary-text th {
  background-color: #f6f8fa !important;
  font-weight: 600 !important;
  color: #24292e !important;
  font-size: 14px !important;
}
.summary-text td {
  background-color: #ffffff !important;
  color: #24292e !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.summary-text tr:nth-child(even) td {
  background-color: #ffffff !important;
}
.summary-text tr:hover td {
  background-color: #f8f9fa !important;
}

/* Markdown渲染后的其他HTML样式 */
.summary-text h1,
.summary-text h2,
.summary-text h3,
.summary-text h4,
.summary-text h5,
.summary-text h6 {
  margin: 16px 0 8px 0;
  font-weight: 600;
  color: #24292e;
}
.summary-text h1 {
  font-size: 19px;
  border-bottom: 2px solid #e1e5e9;
  padding-bottom: 8px;
}
.summary-text h2 {
  font-size: 17px;
  border-bottom: 1px solid #e1e5e9;
  padding-bottom: 6px;
}
.summary-text h3 {
  font-size: 15px;
}
.summary-text p {
  margin: 12px 0;
  line-height: 1.8;
}
.summary-text ul,
.summary-text ol {
  margin: 12px 0;
  padding-left: 24px;
  line-height: 1.8;
}
.summary-text li {
  margin: 6px 0;
  line-height: 1.8;
}
.summary-text blockquote {
  margin: 16px 0;
  padding: 12px 16px;
  background-color: #f6f8fa;
  border-left: 4px solid #0366d6;
  border-radius: 4px;
  color: #586069;
}
.summary-text code {
  background-color: #f6f8fa;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 14px;
  color: #d73a49;
}
.summary-text pre {
  background-color: #f6f8fa;
  padding: 16px;
  border-radius: 6px;
  overflow-x: auto;
  margin: 16px 0;
}
.summary-text pre code {
  background-color: transparent;
  padding: 0;
  color: #24292e;
}
.summary-text strong {
  font-weight: 600;
  color: #24292e;
}
.summary-text em {
  font-style: italic;
  color: #586069;
}
.summary-text a {
  color: #0366d6;
  text-decoration: none;
}
.summary-text a:hover {
  text-decoration: underline;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/BusinessDevelopmentTaskView.vue?vue&type=style&index=0&id=0d063352&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.bd-task-view[data-v-0d063352] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  overflow: hidden;
}

/* 头部样式 */
.task-header[data-v-0d063352] {
  border-bottom: 1px solid #e1e5e9;
  background-color: #f8f9fa;
  padding: 16px 24px;
}
.header-content[data-v-0d063352] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.task-title-header[data-v-0d063352] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.task-avatar[data-v-0d063352] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.bd-avatar[data-v-0d063352] {
  background: #e8f5e9;
  border: 2px solid #4caf50;
  color: #388e3c;
}
.task-title-content[data-v-0d063352] {
  flex: 1;
  min-width: 0;
}
.task-title-content h2[data-v-0d063352] {
  margin: 0 0 8px 0;
  font-size: 18px;
  font-weight: 600;
  color: #24292e;
}
.task-meta[data-v-0d063352] {
  display: flex;
  gap: 16px;
  font-size: 14px;
  color: #586069;
}
.task-status[data-v-0d063352] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.status-tag[data-v-0d063352] {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}
.status-tag.pending[data-v-0d063352] {
  background-color: #fff3cd;
  color: #856404;
}
.status-tag.processing[data-v-0d063352] {
  background-color: #d1ecf1;
  color: #0c5460;
}
.status-tag.completed[data-v-0d063352] {
  background-color: #d4edda;
  color: #155724;
}
.status-tag.failed[data-v-0d063352] {
  background-color: #f8d7da;
  color: #721c24;
}
.status-tag.partial[data-v-0d063352] {
  background-color: #fff3cd;
  color: #856404;
}

/* 内容区域 */
.task-content[data-v-0d063352] {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

/* 进度条 */
.progress-section[data-v-0d063352] {
  margin-bottom: 32px;
}
.progress-header[data-v-0d063352] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.section-title-with-icon[data-v-0d063352] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.section-icon[data-v-0d063352] {
  flex-shrink: 0;
}
.progress-title[data-v-0d063352],
.section-title[data-v-0d063352] {
  font-size: 15px;
  font-weight: 600;
  color: #24292e;
}
.progress-percentage[data-v-0d063352] {
  font-size: 16px;
  font-weight: 600;
  color: #0366d6;
}
.progress-bar[data-v-0d063352] {
  height: 8px;
  background-color: #e1e5e9;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}
.progress-fill[data-v-0d063352] {
  height: 100%;
  background: linear-gradient(90deg, #4caf50, #8bc34a);
  transition: width 0.3s ease;
}
.progress-detail[data-v-0d063352] {
  font-size: 14px;
  color: #586069;
}

/* 客户简介 */
.customer-profile-section[data-v-0d063352] {
  margin-bottom: 32px;
}
.customer-profile-content[data-v-0d063352] {
  background: #f8f9fa;
  border: 1px solid #e1e5e9;
  border-radius: 8px;
  padding: 16px;
  font-size: 14px;
  line-height: 1.6;
  color: #24292e;
}

/* 公司列表 */
.companies-section[data-v-0d063352] {
  margin-bottom: 32px;
}
.companies-list[data-v-0d063352] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.companies-pagination[data-v-0d063352] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 12px;
}
.page-btn[data-v-0d063352] {
  padding: 6px 12px;
  background: #ffffff;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  font-size: 12px;
  color: #24292f;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.page-btn[data-v-0d063352]:hover:not(:disabled) {
  background: #f6f8fa;
  border-color: #8c959f;
}
.page-btn[data-v-0d063352]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.page-info[data-v-0d063352] {
  font-size: 12px;
  color: #656d76;
}
.company-card[data-v-0d063352] {
  background: white;
  border: 1px solid #e1e5e9;
  border-radius: 8px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.company-card[data-v-0d063352]:hover {
  border-color: #0366d6;
  box-shadow: 0 2px 8px rgba(3, 102, 214, 0.1);
}
.company-header[data-v-0d063352] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  justify-content: space-between;
}
.stage-status[data-v-0d063352] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.badge[data-v-0d063352] {
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

/* Stage badges */
.stage-badge.stage-prospect[data-v-0d063352] { background: #f3e5f5; color: #6a1b9a;
}
.stage-badge.stage-engaged[data-v-0d063352] { background: #e6f4ff; color: #096dd9;
}
.stage-badge.stage-interested[data-v-0d063352] { background: #e8f5e9; color: #2e7d32;
}
.stage-badge.stage-signing[data-v-0d063352] { background: #fff3cd; color: #856404;
}

/* Status badges */
.status-badge.status-in_progress[data-v-0d063352] { background: #e3f2fd; color: #1976d2;
}
.status-badge.status-mismatch[data-v-0d063352] { background: #fdecea; color: #b71c1c;
}
.status-badge.status-postponed[data-v-0d063352] { background: #fff3cd; color: #856404;
}
.status-badge.status-failed[data-v-0d063352] { background: #fdecea; color: #c62828;
}
.status-badge.status-signed[data-v-0d063352] { background: #e8f5e9; color: #2e7d32;
}
.company-logo-wrapper[data-v-0d063352] {
  flex-shrink: 0;
}
.company-logo[data-v-0d063352] {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  background: #f8f9fa;
  border: 1px solid #e1e5e9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.company-info[data-v-0d063352] {
  flex: 1;
  min-width: 0;
}
.company-name[data-v-0d063352] {
  font-size: 15px;
  font-weight: 600;
  color: #24292e;
  margin-bottom: 4px;
}
.company-meta[data-v-0d063352] {
  display: flex;
  gap: 8px;
  font-size: 13px;
  color: #586069;
  flex-wrap: wrap;
}
.company-industry[data-v-0d063352],
.company-region[data-v-0d063352] {
  padding: 2px 8px;
  background: #f6f8fa;
  border-radius: 4px;
}
.company-contacts[data-v-0d063352] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
}
.contact-group[data-v-0d063352] {
  display: flex;
  gap: 8px;
}
.contact-label[data-v-0d063352] {
  color: #586069;
  font-weight: 500;
  flex-shrink: 0;
}
.contact-emails[data-v-0d063352] {
  color: #24292e;
  word-break: break-all;
}
.contact-expand-list[data-v-0d063352] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.contact-expand-item[data-v-0d063352] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  background: #f6f8fa;
  border: 1px solid #e1e5e9;
  border-radius: 8px;
}
.contact-expand-main[data-v-0d063352] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.contact-expand-name[data-v-0d063352] {
  font-size: 13px;
  font-weight: 600;
  color: #24292e;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.contact-expand-email[data-v-0d063352] {
  font-size: 12px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.contact-expand-badges[data-v-0d063352] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* BD summary expansion */
.bd-summary[data-v-0d063352] {
  margin-top: 12px;
  background: #f8f9fa;
  border: 1px solid #e1e5e9;
  border-radius: 8px;
  padding: 12px;
}
.bd-summary-row[data-v-0d063352] {
  display: flex;
  gap: 16px;
  margin-bottom: 8px;
}
.bd-summary-item[data-v-0d063352] { font-size: 13px; color: #24292e;
}
.bd-summary-item .bd-summary-label[data-v-0d063352] { color: #586069; margin-right: 6px;
}
.bd-summary-block[data-v-0d063352] { margin-top: 8px;
}
.bd-summary-subtitle[data-v-0d063352] { font-size: 13px; font-weight: 600; color: #24292e; margin-bottom: 6px;
}
.bd-summary-list[data-v-0d063352] { padding-left: 18px;
}
.bd-summary-list li[data-v-0d063352] { font-size: 13px; color: #24292e; line-height: 1.6;
}
.bd-summary-meta[data-v-0d063352] { margin-top: 8px; font-size: 12px; color: #586069;
}

/* simple fade transition */
.fade-enter-active[data-v-0d063352], .fade-leave-active[data-v-0d063352] { transition: opacity .2s;
}
.fade-enter-from[data-v-0d063352], .fade-leave-to[data-v-0d063352] { opacity: 0;
}

/* 无数据提示 */
.no-data[data-v-0d063352] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  color: #586069;
  text-align: center;
}
.no-data-icon[data-v-0d063352] {
  margin-bottom: 16px;
  opacity: 0.5;
}
.no-data p[data-v-0d063352] {
  margin: 0;
  font-size: 16px;
}

/* 滚动条样式 */
.task-content[data-v-0d063352]::-webkit-scrollbar {
  width: 6px;
}
.task-content[data-v-0d063352]::-webkit-scrollbar-track {
  background: transparent;
}
.task-content[data-v-0d063352]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.task-content[data-v-0d063352]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/CalendarView.vue?vue&type=style&index=0&id=38acddc6&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.calendar-page[data-v-38acddc6] {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
}
.calendar-widget[data-v-38acddc6] {
  flex: 1;
  min-height: 640px;
}
.calendar-loading[data-v-38acddc6] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-size: 14px;
}

/* 自定义事件卡片 */
.event-card[data-v-38acddc6] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: #fff;
  font-size: 11px;
  line-height: 1.25;
  overflow: hidden;
}
.event-row[data-v-38acddc6] {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.event-title[data-v-38acddc6] {
  font-weight: 600;
}
.event-icon[data-v-38acddc6] {
  display: inline-flex;
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  opacity: 0.9;
}
.text-ellipsis[data-v-38acddc6] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/EmailViewer.vue?vue&type=style&index=0&id=fbca154a&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.mail-detail-section[data-v-fbca154a] {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  position: relative;
  /* min-width: 400px; */
}
.loading-state[data-v-fbca154a],
.error-state[data-v-fbca154a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #586069;
  text-align: center;
  height: 100%;
}
.loading-spinner[data-v-fbca154a] {
  width: 32px;
  height: 32px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-fbca154a 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-fbca154a {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-icon[data-v-fbca154a] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #cb2431;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 16px;
}
.retry-button[data-v-fbca154a] {
  padding: 8px 16px;
  background-color: #0366d6;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  margin-top: 16px;
}
.retry-button[data-v-fbca154a]:hover {
  background-color: #0256cc;
}
.no-mail-selected[data-v-fbca154a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #586069;
  text-align: center;
  padding: 48px 24px;
}
.no-mail-icon[data-v-fbca154a] {
  margin-bottom: 24px;
  opacity: 0.5;
}
.no-mail-selected h2[data-v-fbca154a] {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #24292e;
}
.no-mail-selected p[data-v-fbca154a] {
  font-size: 16px;
  margin: 0;
}

/* Conversation 相关样式 */
.mail-conversation[data-v-fbca154a] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: auto;
}
.email-collapsed-bar[data-v-fbca154a] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: #f8f9fa;
  cursor: pointer;
  transition: background-color 0.2s ease;
  margin-top: 4px;
  margin-left: 4px;
  margin-right: 4px;
}
.email-collapsed-bar[data-v-fbca154a]:hover {
  background-color: #e9ecef;
}
.collapsed-avatar[data-v-fbca154a] {
  width: 32px;
  height: 32px;
  background-color: #e1f0fe;
  color: #0366d6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 14px;
  margin-right: 12px;
  flex-shrink: 0;
}
.collapsed-info[data-v-fbca154a] {
  flex: 1;
  min-width: 0;
}
.collapsed-sender[data-v-fbca154a] {
  font-weight: 500;
  font-size: 14px;
  color: #24292e;
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.collapsed-subject[data-v-fbca154a] {
  font-size: 13px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.collapsed-date[data-v-fbca154a] {
  font-size: 12px;
  color: #586069;
  margin: 0 12px;
  white-space: nowrap;
}
.collapsed-expand-icon[data-v-fbca154a] {
  color: #586069;
  flex-shrink: 0;
}

/* 询价模式下的 Tab 切换样式 */
.inquiry-tab-container[data-v-fbca154a] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.tab-header[data-v-fbca154a] {
  display: flex;
  border-bottom: 1px solid #e1e5e9;
  background-color: #f8f9fa;
}
.tab-item[data-v-fbca154a] {
  padding: 12px 20px;
  cursor: pointer;
  font-weight: 500;
  color: #586069;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}
.tab-item[data-v-fbca154a]:hover {
  color: #24292e;
  background-color: #f1f3f4;
}
.tab-item.active[data-v-fbca154a] {
  color: #0366d6;
  border-bottom-color: #0366d6;
  background-color: white;
}
.tab-content-detail[data-v-fbca154a] {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.email-detail-content[data-v-fbca154a] {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.normal-email-view[data-v-fbca154a] {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* 日历弹层样式 */
.calendar-dialog-overlay[data-v-fbca154a] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}
.calendar-dialog[data-v-fbca154a] {
  width: 1180px;
  max-width: 98%;
  height: 720px;
  max-height: 95vh;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.calendar-dialog-header[data-v-fbca154a] {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e5e7eb;
  background: #f9fafb;
}
.calendar-dialog-title[data-v-fbca154a] {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}
.calendar-dialog-close[data-v-fbca154a] {
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: #6b7280;
}
.calendar-dialog-close[data-v-fbca154a]:hover {
  color: #111827;
}
.calendar-dialog-body[data-v-fbca154a] {
  flex: 1;
  padding: 8px 12px 12px;
  overflow: hidden;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/SendWorkflowDialog.vue?vue&type=style&index=0&id=682b3412&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.send-dialog[data-v-682b3412] {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  width: 520px;
  max-width: 90vw;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.dialog-header[data-v-682b3412] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
  background: #f9fafb;
}
.dialog-header h3[data-v-682b3412] {
  margin: 0;
  font-size: 16px;
}
.close-btn[data-v-682b3412] {
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  color: #666;
}
.dialog-content[data-v-682b3412] {
  padding: 16px 20px;
}
.form-group[data-v-682b3412] {
  display: flex;
  flex-direction: column;
  margin-bottom: 14px;
  position: relative;
}
.form-group label[data-v-682b3412] {
  font-size: 13px;
  color: #555;
  margin-bottom: 6px;
}
.form-input[data-v-682b3412] {
  height: 36px;
  padding: 0 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
}
.radio-group[data-v-682b3412] {
  display: flex;
  gap: 16px;
  align-items: center;
}
.radio-item[data-v-682b3412] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}
.radio-item.disabled[data-v-682b3412] {
  opacity: 0.6;
}
.hint[data-v-682b3412] {
  margin-left: 6px;
  color: #999;
  font-size: 12px;
}
.error[data-v-682b3412] {
  margin-top: 6px;
  color: #d32f2f;
  font-size: 12px;
}
.dialog-footer[data-v-682b3412] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px;
  border-top: 1px solid #e9ecef;
}
.btn-cancel[data-v-682b3412] {
  padding: 8px 16px;
  border: 1px solid #ccc;
  background: #fff;
  color: #333;
  border-radius: 4px;
  cursor: pointer;
}
.btn-primary[data-v-682b3412] {
  padding: 8px 16px;
  background: #1976d2;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
/* 自定义多选下拉样式 */
.multi-select[data-v-682b3412] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-height: 36px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 2px 6px;
  gap: 6px;
  position: relative;
  background: #fff;
}
.multi-input[data-v-682b3412] {
  border: none;
  outline: none;
  font-size: 14px;
  min-width: 120px;
  flex: 1;
}
.chevron[data-v-682b3412] {
  color: #666;
  font-size: 12px;
  padding: 0 4px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.tag[data-v-682b3412] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  background: #eef5ff;
  border: 1px solid #c7defc;
  border-radius: 3px;
  color: #245ea6;
  font-size: 12px;
}
.tag-close[data-v-682b3412] {
  border: none;
  background: transparent;
  color: #245ea6;
  cursor: pointer;
  padding: 0 2px;
}
.dropdown[data-v-682b3412] {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0; /* 与输入框左右对齐，避免超出 */
  width: auto;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  max-height: 220px;
  overflow: auto;
  z-index: 30;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  box-sizing: border-box;
  /* 重置默认ul样式，去掉左侧缩进与默认间距 */
  list-style: none;
  margin: 0;
  padding: 6px 0;
}
.dropdown-item[data-v-682b3412] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px;
  cursor: pointer;
}
.dropdown-item[data-v-682b3412]:hover {
  background: #f5f7fa;
}
.dropdown-item.selected[data-v-682b3412] {
  background: #eef5ff;
}
.dropdown-empty[data-v-682b3412] {
  padding: 8px 12px;
  color: #999;
}
.check[data-v-682b3412] {
  color: #1976d2;
  font-weight: 700;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/WorkflowListComponent.vue?vue&type=style&index=0&id=2603c466&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

  /* 工作流列表容器样式 */
.workflow-list-container[data-v-2603c466] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    border-right: 1px solid #e0e0e0;
    overflow: hidden;
}
  
  /* 组件头部样式 */
.component-header[data-v-2603c466] {
    padding: 16px;
    border-bottom: 1px solid #e1e5e9;
    background-color: #f8f9fa;
}
.section-header-content[data-v-2603c466] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.section-title[data-v-2603c466] {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #24292f;
}

  /* 选中状态和删除按钮 */
.selection-info[data-v-2603c466] {
    display: flex;
    align-items: center;
    gap: 12px;
}
.selection-count[data-v-2603c466] {
    font-size: 13px;
    color: #666;
    font-weight: 500;
}
.delete-button[data-v-2603c466] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background-color: #dc3545;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.delete-button[data-v-2603c466]:hover:not(:disabled) {
    background-color: #c82333;
    transform: scale(1.05);
}
.delete-button[data-v-2603c466]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.delete-button svg[data-v-2603c466] {
    width: 16px;
    height: 16px;
}
  
  /* 询价列表部分样式 */
.quotation-list-section[data-v-2603c466] {
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    border-right: 1px solid #e0e0e0;
    height: 100vh;
    /* 设置高度确保子容器能正确计算 */
    overflow: hidden;
    /* 防止整体滚动 */
}

  /* 询价卡片样式 */
.quotation-cards[data-v-2603c466] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    /* 重要：确保flex子项能正确收缩 */
}

  /* 自定义滚动条样式 */
.quotation-cards[data-v-2603c466]::-webkit-scrollbar {
    width: 4px;
}
.quotation-cards[data-v-2603c466]::-webkit-scrollbar-track {
    background: transparent;
}
.quotation-cards[data-v-2603c466]::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 2px;
}
.quotation-cards[data-v-2603c466]::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}
.empty-quotations[data-v-2603c466] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 300px;
    color: #999;
    text-align: center;
}
.empty-quotations svg[data-v-2603c466] {
    margin-bottom: 16px;
    opacity: 0.5;
}
.quotation-cards-grid[data-v-2603c466] {
    display: flex;
    flex-direction: column;
}
.quotation-card[data-v-2603c466] {
    background-color: #ffffff;
    border-bottom: 1px solid #e0e0e0;
    padding: 16px 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    overflow: hidden;
}
.quotation-card.checkbox-selected[data-v-2603c466] {
    background-color: #f0f8ff;
    border-left: 3px solid #1976d2;
}
.quotation-card[data-v-2603c466]:hover {
    border-color: #ccc;
}
.quotation-card.selected[data-v-2603c466] {
    background-color: #f1f8e9;
}
.quotation-card.sending[data-v-2603c466] {
    border-color: #1976d2;
    box-shadow: 0 0 12px rgba(25, 118, 210, 0.4);
    position: relative;
}
.quotation-tag[data-v-2603c466] {
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
    position: absolute;
    width: 80px;
    background-color: brown;
    color: white;
    text-align: center;
    transform: rotate(45deg);
    top: 10px;
    right: -30px;
}
.quotation-card-content[data-v-2603c466] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.quotation-card-header[data-v-2603c466] {
    display: flex;
    gap: 8px;
}
.quotation-avatar[data-v-2603c466] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #e1f0fe;
    color: #0366d6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    flex-shrink: 0;
}
  
  /* 运输方式头像样式 */
.transport-avatar[data-v-2603c466] {
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    transition: all 0.2s ease;
}
.transport-avatar.sea[data-v-2603c466] {
    background: #e3f2fd;
    border-color: #2196f3;
    color: #1976d2;
}
.transport-avatar.air[data-v-2603c466] {
    background: #fff3e0;
    border-color: #ff9800;
    color: #f57c00;
}
.transport-avatar.land[data-v-2603c466] {
    background: #e8f5e8;
    border-color: #4caf50;
    color: #388e3c;
}
.transport-avatar svg[data-v-2603c466] {
    width: 16px;
    height: 16px;
}
  
  /* 新增：路线与主题容器，主题放在路线下方 */
.route-subject[data-v-2603c466] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding-left: 8px;
}
.quotation-route[data-v-2603c466] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
}
.route-from[data-v-2603c466],
  .route-to[data-v-2603c466] {
    color: #444;
}
.route-arrow[data-v-2603c466] {
    margin: 0 8px;
    color: #666;
}
.quotation-cargo[data-v-2603c466] {
    font-size: 13px;
    color: #666;
    font-weight: 500;
    margin-left: 12px;
}
.quotation-subject[data-v-2603c466] {
    margin-top: 4px;
    font-size: 13px;
    color: #586069;
    line-height: 1.6;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-word;
}
.quotation-stats[data-v-2603c466] {
    display: flex;
    justify-content: space-around;
}
.stat-item[data-v-2603c466] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
}
.stat-icon[data-v-2603c466] {
    flex-shrink: 0;
}
.stat-icon.replied[data-v-2603c466] {
    color: #28a745;
}
.stat-icon.opened[data-v-2603c466] {
    color: #007bff;
}
.stat-icon.unopened[data-v-2603c466] {
    color: #6c757d;
}
.stat-number[data-v-2603c466] {
    font-weight: 600;
    color: #333;
    padding-left: 4px;
}
.quotation-dates[data-v-2603c466] {
    display: flex;
    justify-content: flex-start;
    font-size: 10px;
    color: #666;
}
.date-item[data-v-2603c466] {
    display: flex;
    align-items: center;
    gap: 3px;
    width: 100%;
}
.date-icon[data-v-2603c466] {
    flex-shrink: 0;
    opacity: 0.7;
}
.date-value[data-v-2603c466] {
    color: #999;
    font-size: 12px;
}
  
  /* 工作流发送按钮容器 */
.workflow-send-container[data-v-2603c466] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 6px;
}
  
  /* 工作流发送按钮样式 */
.workflow-send-button[data-v-2603c466] {
    padding: 4px 8px;
    background-color: #1976d2;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 3px;
    transition: all 0.2s ease;
    font-weight: 500;
    white-space: nowrap;
    min-width: auto;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.workflow-send-button span[data-v-2603c466] {
    font-size: 12px;
}
.workflow-send-button[data-v-2603c466]:hover:not(:disabled) {
    background-color: #1565c0;
}
.workflow-send-button[data-v-2603c466]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.workflow-send-button.completed[data-v-2603c466] {
    background-color: #e3f2fd;
    color: #1976d2;
    border: 1px solid #90caf9;
    cursor: not-allowed;
}
.workflow-send-button.completed[data-v-2603c466]:hover {
    background-color: #e3f2fd;
}
  
  /* 根据状态显示不同颜色的按钮 */
.workflow-send-button.pending[data-v-2603c466] {
    background-color: #1976d2;
    color: white;
    height: 28px;
}
.workflow-send-button.pending[data-v-2603c466]:hover:not(:disabled) {
    border: solid 1px #ccc;
}
.workflow-send-button.processing[data-v-2603c466] {
    background-color: #fff3e0;
    color: #f57c00;
    border: 1px solid #ffcc02;
}
.workflow-send-button.processing[data-v-2603c466]:hover:not(:disabled) {
    background-color: #ffe0b2;
}
.workflow-send-button.generating[data-v-2603c466] {
    background-color: #1976d2;
    color: white;
    height: 28px;
}
.workflow-send-button.generating[data-v-2603c466]:hover:not(:disabled) {
    background-color: #1565c0;
}
.workflow-send-button .button-loader[data-v-2603c466] {
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top: 2px solid white;
    border-radius: 50%;
    animation: spin-2603c466 1s linear infinite;
}
@keyframes spin-2603c466 {
0% {
      transform: rotate(0deg);
}
100% {
      transform: rotate(360deg);
}
}
  
  /* Workflow进度条样式 */
.workflow-progress-bar[data-v-2603c466] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background-color: rgba(25, 118, 210, 0.1);
    overflow: hidden;
    z-index: 10;
    border-radius: 6px 6px 0 0;
}
.progress-bar-fill[data-v-2603c466] {
    height: 100%;
    background: linear-gradient(90deg,
        transparent,
        rgba(25, 118, 210, 0.3),
        #1976d2,
        rgba(25, 118, 210, 0.3),
        transparent);
    background-size: 200% 100%;
    animation: progressSlide-2603c466 2s infinite linear;
}
@keyframes progressSlide-2603c466 {
0% {
      background-position: -200% 0;
}
100% {
      background-position: 200% 0;
}
}
  
  /* Business Development 样式 */
.business-development-section[data-v-2603c466] {
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    border-right: 1px solid #e0e0e0;
    height: 100vh;
    /* 设置高度确保子容器能正确计算 */
    overflow: hidden;
    /* 防止整体滚动 */
}
.business-development-cards[data-v-2603c466] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    /* 重要：确保flex子项能正确收缩 */
    padding: 0;
}

  /* 自定义滚动条样式 */
.business-development-cards[data-v-2603c466]::-webkit-scrollbar {
    width: 4px;
}
.business-development-cards[data-v-2603c466]::-webkit-scrollbar-track {
    background: transparent;
}
.business-development-cards[data-v-2603c466]::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 2px;
}
.business-development-cards[data-v-2603c466]::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}
.loading-container[data-v-2603c466] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 200px;
    color: #8c959f;
}

  /* 加载更多 - 与 EmailListComponent 保持一致 */
.load-more-container[data-v-2603c466] {
    display: flex;
    justify-content: center;
    padding: 16px;
}
.load-more-button[data-v-2603c466] {
    padding: 6px 16px;
    background-color: #0366d6;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.2s ease;
}
.load-more-button[data-v-2603c466]:hover {
    background-color: #005cc5;
}
.load-more-button[data-v-2603c466]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.loading-spinner[data-v-2603c466] {
    width: 32px;
    height: 32px;
    border: 3px solid #e1e5e9;
    border-top: 3px solid #0969da;
    border-radius: 50%;
    animation: spin-2603c466 1s linear infinite;
    margin-bottom: 16px;
}
.empty-business-development[data-v-2603c466] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 200px;
    color: #8c959f;
}
.empty-business-development svg[data-v-2603c466] {
    margin-bottom: 16px;
    opacity: 0.5;
}
.business-development-cards-grid[data-v-2603c466] {
    display: flex;
    flex-direction: column;
}
.business-development-card[data-v-2603c466] {
    background: white;
    border-bottom: 1px solid #e9ecef;
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.business-development-card.checkbox-selected[data-v-2603c466] {
    background-color: #f0f8ff;
    border-left: 3px solid #1976d2;
}
.business-development-card[data-v-2603c466]:hover {
    border-color: #ccc;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.1);
}
.business-development-card.selected[data-v-2603c466] {
    background-color: #f1f8e9;
}
.business-development-card.sending[data-v-2603c466] {
    border-color: #1976d2;
    border-bottom: 1px solid #1976d2;
    box-shadow: 0 0 12px rgba(25, 118, 210, 0.4);
    position: relative;
}
  
  /* 多选框样式 */
.workflow-checkbox[data-v-2603c466] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    cursor: pointer;
    margin-top: 2px;
}
.checkbox-checked[data-v-2603c466] {
    color: #1976d2;
}
.checkbox-unchecked[data-v-2603c466] {
    color: #ccc;
}
.workflow-checkbox:hover .checkbox-unchecked[data-v-2603c466] {
    color: #999;
}
.business-development-card-content[data-v-2603c466] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    flex: 1;
}
.business-development-header[data-v-2603c466] {
    display: flex;
    gap: 8px;
}
.business-development-avatar[data-v-2603c466] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

/* 根据拓展类型设置不同的颜色 */
.transport-avatar.expansion-customer[data-v-2603c466] {
  background: #e8f5e8;
  border-color: #4caf50;
  color: #388e3c;
}
.transport-avatar.expansion-supplier[data-v-2603c466] {
  background: #fff3e0;
  border-color: #ff9800;
  color: #f57c00;
}
.transport-avatar.expansion-competitor[data-v-2603c466] {
  background: #fce4ec;
  border-color: #e91e63;
  color: #c2185b;
}
.transport-avatar.expansion-agent[data-v-2603c466] {
  background: #e3f2fd;
  border-color: #2196f3;
  color: #1976d2;
}
.business-development-subject[data-v-2603c466] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding-left: 8px;
}
.business-development-title[data-v-2603c466] {
    font-weight: 600;
    color: #333;
}
.title-text[data-v-2603c466] {
    font-size: 14px;
    line-height: 1.4;
}
.business-development-type[data-v-2603c466] {
    font-size: 12px;
    color: #666;
    font-weight: 500;
}
.business-development-stats[data-v-2603c466] {
    display: flex;
    justify-content: space-around;
}
.business-development-stats .stat-item[data-v-2603c466] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
}
.business-development-stats .stat-icon.a-type[data-v-2603c466] {
    color: #28a745;
}
.business-development-stats .stat-icon.b-type[data-v-2603c466] {
    color: #007bff;
}
.business-development-stats .stat-icon.c-type[data-v-2603c466] {
    color: #6c757d;
}
.business-development-stats .stat-number[data-v-2603c466] {
    font-weight: 600;
    color: #333;
    padding-left: 4px;
}
.business-development-dates[data-v-2603c466] {
    display: flex;
    justify-content: flex-start;
    font-size: 10px;
    color: #666;
}
.business-development-dates .date-item[data-v-2603c466] {
    display: flex;
    align-items: center;
    gap: 3px;
    width: 100%;
}
.business-development-dates .date-icon[data-v-2603c466] {
    flex-shrink: 0;
    opacity: 0.7;
}
.business-development-dates .date-value[data-v-2603c466] {
    font-size: 12px;
    color: #666;
}

  /* 发送方式弹窗覆盖样式（覆盖右侧，不挤压布局） */
.user-dialog-backdrop[data-v-2603c466] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2000;
}
.user-dialog.send-method-dialog[data-v-2603c466] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2001;
    width: auto;
    max-width: 90vw;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/FolderItem.vue?vue&type=style&index=0&id=4c539724&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 文件夹项样式 - 与原来的folder-item对齐 */
.folder-item[data-v-4c539724] {
  position: relative;
  display: flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #586069;
}
.folder-item[data-v-4c539724]:hover {
  background-color: #f3f4f6;
  color: #0366d6;
}
.folder-item.active[data-v-4c539724] {
  background-color: #e1f0fe;
  color: #0366d6;
  font-weight: 500;
}
.folder-icon[data-v-4c539724] {
  margin-right: 12px;
  display: flex;
  align-items: center;
  color: inherit;
}

/* 为不同文件夹类型添加特定的图标颜色 */
.folder-item:not(.active) .folder-icon svg[data-v-4c539724] {
  color: #6a737d;
}

/* 收件箱 - 蓝色，表示接收重要邮件 */
.folder-item[data-folder-type="inbox"] .folder-icon svg[data-v-4c539724] {
  color: #0366d6;
}

/* 已发送 - 绿色，表示成功发送 */
.folder-item[data-folder-type="sentitems"] .folder-icon svg[data-v-4c539724] {
  color: #28a745;
}

/* 垃圾邮件 - 红色，表示危险/阻止 */
.folder-item[data-folder-type="spam"] .folder-icon svg[data-v-4c539724] {
  color: #d73a49;
}

/* 草稿 - 橙色，表示正在编辑/待完成 */
.folder-item[data-folder-type="draft"] .folder-icon svg[data-v-4c539724],
.folder-item[data-folder-type="drafts"] .folder-icon svg[data-v-4c539724] {
  color: #f66a0a;
}

/* 已删除 - 灰色，表示删除状态 */
.folder-item[data-folder-type="deleted"] .folder-icon svg[data-v-4c539724],
.folder-item[data-folder-type="deleteditems"] .folder-icon svg[data-v-4c539724] {
  color: #6f42c1;
}

/* 模板 - 青色，表示模板资源 */
.folder-item[data-folder-type="template"] .folder-icon svg[data-v-4c539724] {
  color: #17a2b8;
}

/* 激活状态保持原色调 */
.folder-item.active .folder-icon svg[data-v-4c539724] {
  color: #0366d6;
}

/* 悬停时图标保持与文字相同的颜色 */
.folder-item:hover .folder-icon svg[data-v-4c539724] {
  color: inherit;
}
.folder-name[data-v-4c539724] {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.folder-count[data-v-4c539724] {
  margin-left: auto;
  font-size: 12px;
  padding: 1px 6px;
  border-radius: 10px;
  font-weight: 500;
  min-width: 18px;
  text-align: center;
}
.folder-count-unread[data-v-4c539724] {
  background-color: #d73a49;
  color: #ffffff;
}
.folder-count-normal[data-v-4c539724] {
  background-color: #e1e4e8;
  color: #586069;
}
.folder-item.active .folder-count-unread[data-v-4c539724] {
  background-color: #0366d6;
  color: #ffffff;
}
.folder-item.active .folder-count-normal[data-v-4c539724] {
  background-color: #d1d5da;
  color: #24292e;
}
.folder-menu-trigger[data-v-4c539724] {
  background-color: transparent !important;
  color: #666 !important;
  font-weight: bold;
  cursor: pointer;
}
.folder-children[data-v-4c539724] {
  margin-left: 20px;
  border-left: 1px solid #e1e4e8;
}
.folder-child[data-v-4c539724] {
  margin-top: 2px;
  margin-bottom: 2px;
}

/* 不同层级的文件夹样式 */
.folder-level-0[data-v-4c539724] {
  margin-left: 0;
}
.folder-level-1[data-v-4c539724] {
  margin-left: 0;
}
.folder-level-2[data-v-4c539724] {
  margin-left: 0;
}
.folder-level-3[data-v-4c539724] {
  margin-left: 0;
}
.folder-level-4[data-v-4c539724] {
  margin-left: 0;
}
.folder-level-5[data-v-4c539724] {
  margin-left: 0;
}

/* 输入框样式 */
.folder-input-container[data-v-4c539724] {
  margin: 4px 0;
  padding: 0 12px;
}
.folder-input[data-v-4c539724] {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: 14px;
}
.folder-input[data-v-4c539724]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
}
.folder-rename-input[data-v-4c539724] {
  width: 100%;
  padding: 4px 6px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: 14px;
  background-color: white;
}
.folder-rename-input[data-v-4c539724]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/FolderListComponent.vue?vue&type=style&index=0&id=b589d384&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.folder-list-container[data-v-b589d384] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.folder-header[data-v-b589d384] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e1e5e9;
  background-color: #f8f9fa;
}
.folder-title[data-v-b589d384] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #24292f;
}
.add-folder-button[data-v-b589d384] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background-color: #0969da;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.add-folder-button[data-v-b589d384]:hover {
  background-color: #0860ca;
}
.folder-list[data-v-b589d384] {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
  height: calc(100% - 54px); /* 确保有固定高度 */
}

/* 邮件标签容器 */
.email-tags-container[data-v-b589d384] {
  border-bottom: 1px solid #e1e5e9;
  padding-left: 8px;
  padding-bottom: 8px;
}
.email-tags-header[data-v-b589d384] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.email-tags-list[data-v-b589d384] {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.email-tag-button[data-v-b589d384] {
  padding: 4px 8px;
  background-color: #f6f8fa;
  border: 1px solid #d0d7de;
  border-radius: 12px;
  font-size: 11px;
  color: #656d76;
  cursor: pointer;
  transition: all 0.2s ease;
}
.email-tag-button[data-v-b589d384]:hover {
  background-color: #f3f4f6;
  border-color: #d0d7de;
}
.email-tag-button.active[data-v-b589d384] {
  background-color: #0969da;
  border-color: #0969da;
  color: white;
}
.email-tags-settings-button[data-v-b589d384] {
  padding: 4px;
  background: none;
  border: none;
  color: #656d76;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
.email-tags-settings-button[data-v-b589d384]:hover {
  background-color: #f6f8fa;
}

/* 文件夹输入框 */
.folder-input-container[data-v-b589d384] {
  padding: 4px 16px;
  margin: 4px 0;
}
.folder-input[data-v-b589d384] {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  font-size: 12px;
  outline: none;
  transition: border-color 0.2s ease;
}
.folder-input[data-v-b589d384]:focus {
  border-color: #0969da;
  box-shadow: 0 0 0 2px rgba(9, 105, 218, 0.1);
}

/* 虚拟工作流文件夹 */
.virtual-workflow-folder[data-v-b589d384] {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  border-radius: 4px;
}
.virtual-workflow-folder[data-v-b589d384]:hover {
  background-color: #f6f8fa;
}
.virtual-workflow-folder.active[data-v-b589d384] {
  background-color: #dbeafe;
  color: #1d4ed8;
}
.folder-icon[data-v-b589d384] {
  display: flex;
  margin-right: 12px;
  color: #656d76;
}
.virtual-workflow-folder.active .folder-icon[data-v-b589d384] {
  color: #1d4ed8;
}
.folder-name[data-v-b589d384] {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: #586069;
}
.folder-toggle[data-v-b589d384] {
  transition: transform 0.2s ease;
}
.folder-toggle.expanded[data-v-b589d384] {
  transform: rotate(180deg);
}

/* 工作流子节点 */
.workflow-subnodes[data-v-b589d384] {
  margin-left: 24px;
  border-left: 1px solid #e1e5e9;
  padding-left: 8px;
}
.workflow-subnode[data-v-b589d384] {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  border-radius: 4px;
  margin: 2px 0;
}
.workflow-subnode[data-v-b589d384]:hover {
  background-color: #f6f8fa;
}
.workflow-subnode.active[data-v-b589d384] {
  background-color: #dbeafe;
  color: #1d4ed8;
}

/* 文件夹菜单 */
.folder-menu[data-v-b589d384] {
  position: fixed;
  background: white;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(140, 149, 159, 0.2);
  z-index: 1000;
  min-width: 160px;
  padding: 4px 0;
}
.folder-menu-item[data-v-b589d384] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 13px;
  color: #24292f;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.folder-menu-item[data-v-b589d384]:hover {
  background-color: #f6f8fa;
}
.folder-menu-item.delete[data-v-b589d384] {
  color: #d1242f;
}
.folder-menu-item.delete[data-v-b589d384]:hover {
  background-color: #fff5f5;
}

/* 滚动条样式 */
.folder-list[data-v-b589d384]::-webkit-scrollbar {
  width: 4px;
}
.folder-list[data-v-b589d384]::-webkit-scrollbar-track {
  background: transparent;
}
.folder-list[data-v-b589d384]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 2px;
}
.folder-list[data-v-b589d384]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/EmailListComponent.vue?vue&type=style&index=0&id=4bcd7646&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.email-list-container[data-v-4bcd7646] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #f8f9fa;
}
.email-list-header[data-v-4bcd7646] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  background-color: #ffffff;
  border-bottom: 1px solid #e1e5e9;
  height: 51px;
}
.email-list-title[data-v-4bcd7646] {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  width: 100%;
}
.email-list-title h3[data-v-4bcd7646] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #24292f;
}
.email-count[data-v-4bcd7646] {
  font-size: 14px;
  color: #656d76;
}
.email-list-actions[data-v-4bcd7646] {
  display: flex;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.email-list-actions.visible[data-v-4bcd7646] {
  opacity: 1;
  visibility: visible;
}
.email-list-action-button[data-v-4bcd7646] {
  background: none;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #586069;
  cursor: pointer;
}
.email-list-action-button[data-v-4bcd7646]:hover {
  background-color: #f3f4f6;
  color: #0366d6;
}
.email-list-content[data-v-4bcd7646] {
  flex: 1;
  height: 100%;
  width: 100%;
  max-width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
}
.email-cards-grid[data-v-4bcd7646] {
  display: flex;
  flex-direction: column;
}
.email-card[data-v-4bcd7646] {
  display: flex;
  padding: 12px;
  border-bottom: 1px solid #eaecef;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  position: relative;
  align-items: flex-start;
  border-left: 6px solid transparent;
}
.email-check[data-v-4bcd7646] {
  position: absolute;
  top: 6px;
  left: 4px;
  width: 10px;
  height: 10px;
  border: 2px solid #c9d1d9;
  border-radius: 4px;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2ea44f;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* 鼠标悬停在邮件卡片时显示多选按钮 */
.email-card:hover .email-check[data-v-4bcd7646] {
  opacity: 1;
}

/* 已选中的多选按钮始终显示 */
.email-check.checked[data-v-4bcd7646] {
  border-color: #2ea44f;
  background-color: #e6f4ea;
  opacity: 1;
}
.email-card[data-v-4bcd7646]:hover {
  border-color: #d1d5da;
}
.email-card.unread[data-v-4bcd7646] {
  border-left: 6px solid #0366d6;
}
.email-card.selected[data-v-4bcd7646] {
  background-color: #f0f7ff;
  border-left-color: #0969da;
}
.email-avatar[data-v-4bcd7646] {
  width: 40px;
  height: 40px;
  background-color: #0366d6;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 16px;
  margin-right: 12px;
  flex-shrink: 0;
  text-transform: uppercase;
}
.email-card.unread .email-avatar[data-v-4bcd7646] {
  background-color: #0366d6;
  color: #ffffff;
}
.email-card-header[data-v-4bcd7646] {
  flex: 0 0 auto;
  margin-right: 12px;
}
.email-card-content[data-v-4bcd7646] {
  flex: 1;
  min-width: 0;
}
.email-subject[data-v-4bcd7646] {
  font-size: 15px;
  font-weight: 500;
  color: #24292e;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.email-card.unread .email-subject[data-v-4bcd7646] {
  font-weight: 600;
  color: #0366d6;
}
.email-sender-info[data-v-4bcd7646] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 6px;
}
.email-sender[data-v-4bcd7646] {
  font-size: 14px;
  color: #24292e;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}
.email-card.unread .email-sender[data-v-4bcd7646] {
  font-weight: 600;
  color: #0366d6;
}
.email-date-container[data-v-4bcd7646] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.email-folder-name[data-v-4bcd7646] {
  font-size: 11px;
  color: #6a737d;
  background-color: #f1f3f4;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
  margin-right: 4px;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  border: solid 1px #ccc;
}
.email-date[data-v-4bcd7646] {
  font-size: 12px;
  color: #586069;
  white-space: nowrap;
  margin-left: 8px;
}
.email-preview[data-v-4bcd7646] {
  font-size: 13px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  margin-top: 4px;
  line-height: 1.4;
}
.email-actions[data-v-4bcd7646] {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s ease;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2px;
  border-radius: 4px;
}
.email-card:hover .email-actions[data-v-4bcd7646] {
  opacity: 1;
}
.email-action-button[data-v-4bcd7646] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  background-color: #ffffff;
  color: #656d76;
  cursor: pointer;
  transition: all 0.2s ease;
}
.email-action-button[data-v-4bcd7646]:hover {
  background-color: #f6f8fa;
  border-color: #d0d7de;
  color: #24292f;
}
.email-action-button.danger[data-v-4bcd7646]:hover {
  background-color: #ffebee;
  border-color: #f85149;
  color: #f85149;
}
.load-more-container[data-v-4bcd7646] {
  display: flex;
  justify-content: center;
  padding: 16px;
}
.load-more-button[data-v-4bcd7646] {
  padding: 6px 16px;
  background-color: #0366d6;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.load-more-button[data-v-4bcd7646]:hover {
  background-color: #005cc5;
}
.load-more-button[data-v-4bcd7646]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.loading-state[data-v-4bcd7646],
.empty-state[data-v-4bcd7646],
.error-state[data-v-4bcd7646] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  text-align: center;
  color: #656d76;
}
.loading-spinner[data-v-4bcd7646] {
  width: 24px;
  height: 24px;
  border: 2px solid #e1e5e9;
  border-top: 2px solid #0969da;
  border-radius: 50%;
  animation: spin-4bcd7646 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-4bcd7646 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.error-icon[data-v-4bcd7646] {
  width: 48px;
  height: 48px;
  background-color: #f85149;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 16px;
}
.retry-button[data-v-4bcd7646] {
  padding: 8px 16px;
  background-color: #0969da;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  margin-top: 16px;
}
.retry-button[data-v-4bcd7646]:hover {
  background-color: #0860ca;
}
.search-highlight[data-v-4bcd7646] {
  background-color: #fff3cd;
  color: #856404;
  padding: 1px 2px;
  border-radius: 2px;
}

/* 邮件列表主体容器 */
.email-list-body[data-v-4bcd7646] {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden; /* 防止内容溢出 */
}

/* 滚动条样式 */
.email-list-content[data-v-4bcd7646]::-webkit-scrollbar {
  width: 6px;
}
.email-list-content[data-v-4bcd7646]::-webkit-scrollbar-track {
  background: transparent;
}
.email-list-content[data-v-4bcd7646]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.email-list-content[data-v-4bcd7646]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}
.search-status[data-v-4bcd7646] {
    display: flex;
    align-items: center;
    gap: 12px;
}
.search-count[data-v-4bcd7646] {
    font-size: 12px;
    color: #666;
}
.clear-search-btn[data-v-4bcd7646] {
  display: flex;
  align-items: center;
  gap: 4px;
  background: #f8f9fa;
  border: 1px solid #e1e4e8;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  transition: all .2s ease;
  margin-left: auto;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/TargetAudienceSelector.vue?vue&type=style&index=0&id=07324b92&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 模态框淡入淡出动画 */
.modal-fade-enter-active[data-v-07324b92],
.modal-fade-leave-active[data-v-07324b92] {
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.modal-fade-enter-from[data-v-07324b92],
.modal-fade-leave-to[data-v-07324b92] {
  opacity: 0;
  transform: scale(0.95);
}
.modal-fade-enter-to[data-v-07324b92],
.modal-fade-leave-from[data-v-07324b92] {
  opacity: 1;
  transform: scale(1);
}

/* 模态框内容进入动画 */
.modal-fade-enter-active .modal-content[data-v-07324b92] {
  animation: slideInFromTop-07324b92 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.modal-fade-leave-active .modal-content[data-v-07324b92] {
  animation: slideOutToTop-07324b92 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
@keyframes slideInFromTop-07324b92 {
0% {
    transform: translateY(-20px);
    opacity: 0;
}
100% {
    transform: translateY(0);
    opacity: 1;
}
}
@keyframes slideOutToTop-07324b92 {
0% {
    transform: translateY(0);
    opacity: 1;
}
100% {
    transform: translateY(-20px);
    opacity: 0;
}
}

/* 模态框样式 */
.modal[data-v-07324b92] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.modal-content[data-v-07324b92] {
  background-color: white;
  border-radius: 8px;
  width: 80%;
  max-width: 760px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.modal-header[data-v-07324b92] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header h3[data-v-07324b92] {
  margin: 0;
  font-size: 18px;
  color: #333;
}
.close-button[data-v-07324b92] {
  background: none;
  border: none;
  font-size: 24px;
  color: #666;
  cursor: pointer;
}
.modal-body[data-v-07324b92] {
  padding: 0;
  overflow-y: auto;
  flex: 1;
}
.search-container[data-v-07324b92] {
  padding: 16px;
  border-bottom: 1px solid #eee;
}
.search-input-wrapper[data-v-07324b92] {
  position: relative;
}
.search-icon[data-v-07324b92] {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
}
.search-input[data-v-07324b92] {
  width: 100%;
  padding: 8px 12px 8px 32px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  outline: none;
  width: calc(100% - 48px);
}
.search-input[data-v-07324b92]:focus {
  border-color: #1976d2;
}
.loading-state[data-v-07324b92] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #586069;
  text-align: center;
  height: 100%;
}
.loading-spinner[data-v-07324b92] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-07324b92 1s linear infinite;
}
@keyframes spin-07324b92 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.empty-contacts[data-v-07324b92] {
  text-align: center;
  color: #888;
  padding: 48px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.empty-contacts p[data-v-07324b92] {
  margin-top: 16px;
  font-size: 14px;
}
.contacts-list[data-v-07324b92] {
  display: flex;
  flex-wrap: wrap;
  padding-top: 8px;
}
.modal-contacts[data-v-07324b92] {
  max-height: 400px;
  overflow-y: auto;
  justify-content: space-around;
}
.contact-card[data-v-07324b92] {
  display: flex;
  padding: 12px;
  border: 1px solid #eaecef;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #ffffff;
  position: relative;
  align-items: flex-start;
  min-height: 80px;
  width: 320px;
  margin-bottom: 8px;
}
.contact-card[data-v-07324b92]:hover {
  border-color: #d1d5da;
  background-color: #f8f8f8;
}
.contact-card.selected[data-v-07324b92] {
  border-left-color: #2e7d32;
  background-color: #f1f8e9;
}
.contact-card-selection[data-v-07324b92] {
  width: 0px;
  height: 100%;
  background-color: transparent;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.2s;
}
.contact-card-selection.selected[data-v-07324b92] {
  background-color: #2e7d32;
}
.contact-card-header[data-v-07324b92] {
  flex: 0 0 auto;
  margin-right: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 60px;
}
.contact-name[data-v-07324b92] {
  font-size: 13px;
  font-weight: bold;
  color: #24292e;
  margin-top: 4px;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60px;
}
.contact-avatar[data-v-07324b92] {
  width: 40px;
  height: 40px;
  background-color: #e1f0fe;
  color: #0366d6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.contact-card-content[data-v-07324b92] {
  flex: 1;
  min-width: 0;
  padding-top: 4px;
}
.contact-info-row[data-v-07324b92] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.contact-company[data-v-07324b92] {
  font-size: 13px;
  color: #24292e;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.contact-title-row[data-v-07324b92],
.contact-email-row[data-v-07324b92] {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}
.contact-title-row svg[data-v-07324b92],
.contact-email-row svg[data-v-07324b92] {
  flex-shrink: 0;
  color: #586069;
  margin-right: 8px;
}
.contact-title[data-v-07324b92] {
  font-size: 13px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.contact-email[data-v-07324b92] {
  font-size: 13px;
  color: #0366d6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  line-height: 1.4;
  margin-left: 0;
}
.contact-relationship[data-v-07324b92] {
  font-size: 10px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60px;
  margin-bottom: 8px;
}

/* 调研中状态的动画样式 */
.researching-text[data-v-07324b92] {
  color: #2196F3;
  font-weight: 500;
}
.researching-dots[data-v-07324b92]::after {
  content: '';
  animation: dots-07324b92 2s infinite;
}
@keyframes dots-07324b92 {
0%, 100% { content: '';
}
25% { content: '.';
}
50% { content: '..';
}
75% { content: '...';
}
}

/* 调研中的滚动条 */
.research-loading-bar[data-v-07324b92] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, 
    rgba(33, 150, 243, 0.1) 0%, 
    rgba(33, 150, 243, 0.5) 25%, 
    rgba(33, 150, 243, 1) 50%, 
    rgba(33, 150, 243, 0.5) 75%, 
    rgba(33, 150, 243, 0.1) 100%
  );
  background-size: 200% 100%;
  animation: research-wave-scroll-07324b92 2s ease-in-out infinite;
  z-index: 1;
  border-radius: 1.5px;
}
@keyframes research-wave-scroll-07324b92 {
0% {
    background-position: 200% 0;
}
100% {
    background-position: -200% 0;
}
}
.modal-footer[data-v-07324b92] {
  padding: 16px;
  border-top: 1px solid #eee;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.cancel-button[data-v-07324b92],
.confirm-button[data-v-07324b92] {
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  border: none;
}
.cancel-button[data-v-07324b92] {
  background-color: #f5f5f5;
  color: #333;
}
.confirm-button[data-v-07324b92] {
  background-color: #e3f2fd;
  color: #1565c0;
}
.cancel-button[data-v-07324b92]:hover {
  background-color: #e0e0e0;
}
.confirm-button[data-v-07324b92]:hover {
  background-color: #bbdefb;
}

/* 美化滚动条 */
.modal-body[data-v-07324b92]::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.modal-body[data-v-07324b92]::-webkit-scrollbar-thumb {
  background-color: #d1d5da;
  border-radius: 3px;
}
.modal-body[data-v-07324b92]::-webkit-scrollbar-track {
  background-color: transparent;
}
.modal-body[data-v-07324b92]:hover::-webkit-scrollbar-thumb {
  background-color: #959da5;
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/FolderMoveDialog.vue?vue&type=style&index=0&id=08ab5eca&scoped=true&lang=css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.modal-overlay[data-v-08ab5eca] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.modal-content[data-v-08ab5eca] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  width: 90%;
  max-width: 500px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}
.modal-header[data-v-08ab5eca] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 20px 0 20px;
  border-bottom: 1px solid #e1e4e8;
}
.modal-header h3[data-v-08ab5eca] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #24292e;
}
.close-button[data-v-08ab5eca] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  color: #586069;
}
.close-button[data-v-08ab5eca]:hover {
  background-color: #f6f8fa;
  color: #24292e;
}
.modal-body[data-v-08ab5eca] {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
}
.folder-tree-container[data-v-08ab5eca] {
  min-height: 300px;
}
.folder-tree-header[data-v-08ab5eca] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  font-weight: 500;
  color: #586069;
}
.add-folder-button[data-v-08ab5eca] {
  background: none;
  border: 1px solid #d1d5da;
  border-radius: 4px;
  padding: 4px 8px;
  cursor: pointer;
  color: #586069;
  display: flex;
  align-items: center;
  gap: 4px;
}
.add-folder-button[data-v-08ab5eca]:hover {
  background-color: #f6f8fa;
  border-color: #0366d6;
  color: #0366d6;
}
.add-folder-input[data-v-08ab5eca] {
  margin-bottom: 16px;
  padding: 12px;
  background-color: #f6f8fa;
  border-radius: 6px;
  border: 1px solid #e1e4e8;
}
.folder-name-input[data-v-08ab5eca] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d1d5da;
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 8px;
}
.folder-name-input[data-v-08ab5eca]:focus {
  outline: none;
  border-color: #0366d6;
  box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.1);
}
.add-folder-actions[data-v-08ab5eca] {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.folder-tree[data-v-08ab5eca] {
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  max-height: 400px;
  overflow-y: auto;
}
.modal-footer[data-v-08ab5eca] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px;
  border-top: 1px solid #e1e4e8;
}
.cancel-button[data-v-08ab5eca],
.confirm-button[data-v-08ab5eca] {
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}
.cancel-button[data-v-08ab5eca] {
  background-color: #f6f8fa;
  color: #586069;
  border: 1px solid #d1d5da;
}
.cancel-button[data-v-08ab5eca]:hover {
  background-color: #e1e4e8;
  border-color: #c6cbd1;
}
.confirm-button[data-v-08ab5eca] {
  background-color: #0366d6;
  color: white;
}
.confirm-button[data-v-08ab5eca]:hover:not(:disabled) {
  background-color: #0256cc;
}
.confirm-button[data-v-08ab5eca]:disabled {
  background-color: #e1e4e8;
  color: #586069;
  cursor: not-allowed;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/ContactCard.vue?vue&type=style&index=0&id=21f9a2dd&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.contact-card[data-v-21f9a2dd] {
  width: 320px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  border: 1px solid #e1e5e9;
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  animation: slideIn-21f9a2dd 0.2s ease-out;
  z-index: 10000 !important;
  position: fixed !important;
}
@keyframes slideIn-21f9a2dd {
from {
    opacity: 0;
    transform: translateY(-8px) scale(0.95);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.contact-card-header[data-v-21f9a2dd] {
  padding: 20px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-bottom: 1px solid #e1e5e9;
  position: relative;
}
.contact-avatar[data-v-21f9a2dd] {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin: 0 auto 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
  color: white;
  font-size: 24px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
}
.avatar-image img[data-v-21f9a2dd] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.avatar-initials[data-v-21f9a2dd] {
  font-size: 24px;
  font-weight: 600;
}
.contact-name[data-v-21f9a2dd] {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 16px;
}
.update-profile-btn[data-v-21f9a2dd] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #ff6b35;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 0 auto 8px;
}
.update-profile-btn[data-v-21f9a2dd]:hover:not(:disabled) {
  background: #e55a2b;
  transform: translateY(-1px);
}
.update-profile-btn[data-v-21f9a2dd]:disabled {
  background: #ccc;
  color: #666;
  cursor: not-allowed;
  opacity: 0.6;
}
.update-profile-btn[data-v-21f9a2dd]:disabled:hover {
  background: #ccc;
  transform: none;
}
.more-options-btn[data-v-21f9a2dd] {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  color: #6c757d;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.more-options-btn[data-v-21f9a2dd]:hover {
  background: rgba(0, 0, 0, 0.05);
  color: #495057;
}
.contact-card-content[data-v-21f9a2dd] {
  max-height: 400px;
  overflow-y: auto;
}
.contact-section[data-v-21f9a2dd],
.linkedin-section[data-v-21f9a2dd],
.biography-section[data-v-21f9a2dd],
.company-section[data-v-21f9a2dd],
.relationship-section[data-v-21f9a2dd],
.categories-section[data-v-21f9a2dd] {
  border-bottom: 1px solid #f1f3f4;
}
.contact-section[data-v-21f9a2dd]:last-child,
.linkedin-section[data-v-21f9a2dd]:last-child,
.biography-section[data-v-21f9a2dd]:last-child,
.company-section[data-v-21f9a2dd]:last-child,
.relationship-section[data-v-21f9a2dd]:last-child,
.categories-section[data-v-21f9a2dd]:last-child {
  border-bottom: none;
}
.section-header[data-v-21f9a2dd] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.section-header[data-v-21f9a2dd]:hover {
  background-color: #f8f9fa;
}
.section-title[data-v-21f9a2dd] {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
  flex: 1;
}
.section-arrow[data-v-21f9a2dd] {
  transition: transform 0.2s ease;
  color: #6c757d;
}
.section-arrow.collapsed[data-v-21f9a2dd] {
  transform: rotate(-90deg);
}
.section-content[data-v-21f9a2dd] {
  padding: 0 20px 16px;
}
.contact-info-item[data-v-21f9a2dd] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.info-icon[data-v-21f9a2dd] {
  color: #6c757d;
  flex-shrink: 0;
}
.info-value[data-v-21f9a2dd] {
  font-size: 14px;
  color: #495057;
  word-break: break-all;
}
.show-more-link[data-v-21f9a2dd] {
  margin-top: 8px;
}
.show-more-link a[data-v-21f9a2dd] {
  color: #1976d2;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
}
.show-more-link a[data-v-21f9a2dd]:hover {
  text-decoration: underline;
}
.linkedin-icon[data-v-21f9a2dd] {
  color: #0077b5;
}
.linkedin-link[data-v-21f9a2dd] {
  color: #1976d2;
  text-decoration: none;
  font-size: 14px;
  word-break: break-all;
}
.linkedin-link[data-v-21f9a2dd]:hover {
  text-decoration: underline;
}
.biography-content p[data-v-21f9a2dd] {
  font-size: 14px;
  line-height: 1.6;
  color: #495057;
  margin: 0 0 12px 0;
}
.biography-content p[data-v-21f9a2dd]:last-child {
  margin-bottom: 0;
}
.company-name[data-v-21f9a2dd] {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 4px;
}
.company-title[data-v-21f9a2dd] {
  font-size: 14px;
  color: #6c757d;
  margin-bottom: 8px;
}
.company-website a[data-v-21f9a2dd] {
  color: #1976d2;
  text-decoration: none;
  font-size: 14px;
  word-break: break-all;
}
.company-website a[data-v-21f9a2dd]:hover {
  text-decoration: underline;
}
.relationship-label[data-v-21f9a2dd] {
  font-size: 14px;
  color: #495057;
  padding: 4px 12px;
  background: #e3f2fd;
  border-radius: 16px;
  display: inline-block;
}
.categories-list[data-v-21f9a2dd] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.category-tag[data-v-21f9a2dd] {
  font-size: 12px;
  color: #1976d2;
  background: #e3f2fd;
  padding: 4px 8px;
  border-radius: 12px;
  font-weight: 500;
}

/* 滚动条样式 */
.contact-card-content[data-v-21f9a2dd]::-webkit-scrollbar {
  width: 4px;
}
.contact-card-content[data-v-21f9a2dd]::-webkit-scrollbar-thumb {
  background-color: #d1d5da;
  border-radius: 2px;
}
.contact-card-content[data-v-21f9a2dd]::-webkit-scrollbar-track {
  background-color: transparent;
}
.contact-card-content[data-v-21f9a2dd]:hover::-webkit-scrollbar-thumb {
  background-color: #959da5;
}

/* 响应式设计 */
@media (max-width: 768px) {
.contact-card[data-v-21f9a2dd] {
    width: 280px;
}
.contact-card-header[data-v-21f9a2dd] {
    padding: 16px;
}
.contact-avatar[data-v-21f9a2dd] {
    width: 50px;
    height: 50px;
    font-size: 20px;
}
.contact-name[data-v-21f9a2dd] {
    font-size: 16px;
}
.update-profile-btn[data-v-21f9a2dd] {
    font-size: 13px;
    padding: 6px 12px;
}
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/BDScheduleModal.vue?vue&type=style&index=0&id=29426461&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.modal-overlay[data-v-29426461] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.modal-content[data-v-29426461] {
  background: white;
  border-radius: 8px;
  width: 520px;
  max-width: 90vw;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.modal-header[data-v-29426461] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #e9ecef;
}
.modal-title[data-v-29426461] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.close-button[data-v-29426461] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #666;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.close-button[data-v-29426461]:hover {
  background-color: #f5f5f5;
}
.modal-body[data-v-29426461] {
  padding: 24px;
}
.field-group[data-v-29426461] {
  margin-bottom: 16px;
}
.field-label[data-v-29426461] {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.field-icon[data-v-29426461] {
  color: #666;
  flex-shrink: 0;
}
.field-input[data-v-29426461] {
  width: 100%;
}
.radio-group[data-v-29426461] {
  display: flex;
  gap: 16px;
}
.radio-item[data-v-29426461] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  background: white;
}
.radio-item[data-v-29426461]:hover {
  border-color: #007bff;
}
.radio-item.active[data-v-29426461] {
  border-color: #007bff;
  background-color: #f8f9ff;
}
.radio-item input[type="radio"][data-v-29426461] {
  margin: 0;
}
.interval-controls[data-v-29426461],
.batch-controls[data-v-29426461] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.interval-btn[data-v-29426461],
.batch-btn[data-v-29426461] {
  width: 32px;
  height: 32px;
  border: 1px solid #e9ecef;
  background: white;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  color: #666;
  transition: all 0.2s;
}
.interval-btn[data-v-29426461]:hover,
.batch-btn[data-v-29426461]:hover {
  border-color: #007bff;
  color: #007bff;
}
.interval-input[data-v-29426461],
.batch-input[data-v-29426461] {
  width: 120px;
  height: 32px;
  border: 1px solid #e9ecef;
  border-radius: 4px;
  padding: 0 12px;
  text-align: center;
  font-size: 14px;
}
.interval-unit[data-v-29426461] {
  height: 32px;
  border: 1px solid #e9ecef;
  border-radius: 4px;
  padding: 0 8px;
  background: white;
  font-size: 14px;
}
.time-input-group[data-v-29426461] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.time-input-item[data-v-29426461] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.time-input-item label[data-v-29426461] {
  font-size: 12px;
  color: #666;
}
.time-select[data-v-29426461] {
  height: 32px;
  border: 1px solid #e9ecef;
  border-radius: 4px;
  padding: 0 8px;
  background: white;
  font-size: 14px;
}
.time-separator[data-v-29426461] {
  font-size: 18px;
  font-weight: 600;
  color: #666;
  margin-top: 16px;
}
.time-note[data-v-29426461] {
  font-size: 12px;
  color: #666;
  font-style: italic;
}
.modal-footer[data-v-29426461] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 24px 20px;
  border-top: 1px solid #e9ecef;
}
.cancel-button[data-v-29426461] {
  padding: 8px 16px;
  border: 1px solid #e9ecef;
  background: white;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  color: #666;
  transition: all 0.2s;
}
.cancel-button[data-v-29426461]:hover {
  border-color: #ccc;
  background-color: #f8f9fa;
}
.confirm-button[data-v-29426461] {
  padding: 8px 16px;
  border: none;
  background: #007bff;
  color: white;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.confirm-button[data-v-29426461]:hover:not(:disabled) {
  background: #0056b3;
}
.confirm-button[data-v-29426461]:disabled {
  background: #6c757d;
  cursor: not-allowed;
}
.confirm-button.loading[data-v-29426461] {
  background: #6c757d;
}
.button-spinner[data-v-29426461] {
  width: 14px;
  height: 14px;
  border: 2px solid transparent;
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin-29426461 1s linear infinite;
}
@keyframes spin-29426461 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/EmailFilterConfig.vue?vue&type=style&index=0&id=f337d13a&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.email-filter-config[data-v-f337d13a] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  width: 500px;
  max-height: 80vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.config-header[data-v-f337d13a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #e1e5e9;
  background: #f8f9fa;
}
.config-title[data-v-f337d13a] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #24292f;
}
.close-button[data-v-f337d13a] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  color: #656d76;
  transition: all 0.2s;
}
.close-button[data-v-f337d13a]:hover {
  background: #e1e5e9;
  color: #24292f;
}
.config-content[data-v-f337d13a] {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}
.config-section[data-v-f337d13a] {
  margin-bottom: 32px;
}
.config-section[data-v-f337d13a]:last-child {
  margin-bottom: 0;
}
.section-title[data-v-f337d13a] {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #24292f;
}
.settings-list[data-v-f337d13a] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.setting-item[data-v-f337d13a] {
  display: flex;
  align-items: center;
}
.setting-label[data-v-f337d13a] {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 8px;
}
.setting-checkbox[data-v-f337d13a] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.setting-text[data-v-f337d13a] {
  font-size: 14px;
  color: #24292f;
}
.add-contact-form[data-v-f337d13a] {
  margin-bottom: 20px;
}
.input-group[data-v-f337d13a] {
  display: flex;
  gap: 8px;
}
.contact-input[data-v-f337d13a] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  font-size: 14px;
  transition: border-color 0.2s;
}
.contact-input[data-v-f337d13a]:focus {
  outline: none;
  border-color: #0969da;
  box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.1);
}
.add-button[data-v-f337d13a] {
  padding: 8px 16px;
  background: #0969da;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.add-button[data-v-f337d13a]:hover:not(:disabled) {
  background: #0860ca;
}
.add-button[data-v-f337d13a]:disabled {
  background: #8c959f;
  cursor: not-allowed;
}
.contacts-list[data-v-f337d13a] {
  border: 1px solid #d0d7de;
  border-radius: 6px;
  max-height: 200px;
  overflow-y: auto;
}
.empty-contacts[data-v-f337d13a] {
  padding: 20px;
  text-align: center;
  color: #656d76;
  font-size: 14px;
}
.contact-items[data-v-f337d13a] {
  padding: 8px;
}
.contact-item[data-v-f337d13a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.contact-item[data-v-f337d13a]:hover {
  background: #f6f8fa;
}
.contact-info[data-v-f337d13a] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.contact-email[data-v-f337d13a] {
  font-size: 14px;
  color: #24292f;
  font-weight: 500;
}
.contact-type[data-v-f337d13a] {
  font-size: 12px;
  color: #656d76;
  text-transform: capitalize;
}
.remove-button[data-v-f337d13a] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  color: #d73a49;
  transition: all 0.2s;
}
.remove-button[data-v-f337d13a]:hover {
  background: #ffeef0;
  color: #b31d28;
}
.config-footer[data-v-f337d13a] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px 24px;
  border-top: 1px solid #e1e5e9;
  background: #f8f9fa;
}
.cancel-button[data-v-f337d13a] {
  padding: 8px 16px;
  background: white;
  color: #24292f;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}
.cancel-button[data-v-f337d13a]:hover {
  background: #f6f8fa;
  border-color: #8c959f;
}
.save-button[data-v-f337d13a] {
  padding: 8px 16px;
  background: #0969da;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.save-button[data-v-f337d13a]:hover:not(:disabled) {
  background: #0860ca;
}
.save-button[data-v-f337d13a]:disabled {
  background: #8c959f;
  cursor: not-allowed;
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/MailboxComponent.vue?vue&type=style&index=0&id=507e30ec&scoped=true&lang=css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 添加一些基本样式 */
.mailbox-container[data-v-507e30ec] {
  display: flex;
  height: 100%;
  position: relative;
  background-color: #f9f9f9;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.folder-section[data-v-507e30ec] {
  background-color: #ffffff;
  border-right: 1px solid #eaecef;
  display: flex;
  flex-direction: column;
  height: 100%;
  /* min-width: 250px;
  max-width: 500px; */
  /* transition: width 0.2s ease; */
  position: relative;
}
.folder-top-section[data-v-507e30ec] {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.folder-bottom-section[data-v-507e30ec] {
  position: relative;
  overflow: hidden;
}
.folder-horizontal-resizer[data-v-507e30ec] {
  width: 100%;
  height: 1px;
  background-color: #f0f2f5;
  border-top: 1px solid #e1e4e8;
  cursor: row-resize;
  position: absolute;
  left: 0;
  z-index: 10;
  transition: background-color 0.2s ease;
}
.folder-horizontal-resizer[data-v-507e30ec]:hover,
.folder-horizontal-resizer[data-v-507e30ec]:active {
  background-color: #0366d6;
  border-color: #0366d6;
}
.folder-list-container[data-v-507e30ec] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.folder-list[data-v-507e30ec] {
  flex: 1;
  padding: 8px 0;
  height: calc(100% - 54px);
  overflow-y: auto;
}
.folder-item[data-v-507e30ec] {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #586069;
}
.folder-item[data-v-507e30ec]:hover {
  background-color: #f3f4f6;
  color: #0366d6;
}
.folder-item.active[data-v-507e30ec] {
  background-color: #e1f0fe;
  color: #0366d6;
  font-weight: 500;
}
.folder-icon[data-v-507e30ec] {
  margin-right: 12px;
  display: flex;
  align-items: center;
  color: inherit;
}

/* 为不同文件夹类型添加特定的图标颜色 */
.folder-item:not(.active) .folder-icon svg[data-v-507e30ec] {
  color: #6a737d;
}

/* 收件箱 - 蓝色，表示接收重要邮件 */
.folder-item[data-folder-type="inbox"] .folder-icon svg[data-v-507e30ec] {
  color: #0366d6;
}

/* 已发送 - 绿色，表示成功发送 */
.folder-item[data-folder-type="sentitems"] .folder-icon svg[data-v-507e30ec] {
  color: #28a745;
}

/* 垃圾邮件 - 红色，表示危险/阻止 */
.folder-item[data-folder-type="spam"] .folder-icon svg[data-v-507e30ec] {
  color: #d73a49;
}

/* 草稿 - 橙色，表示正在编辑/待完成 */
.folder-item[data-folder-type="draft"] .folder-icon svg[data-v-507e30ec],
.folder-item[data-folder-type="drafts"] .folder-icon svg[data-v-507e30ec] {
  color: #f66a0a;
}

/* 已删除 - 灰色，表示删除状态 */
.folder-item[data-folder-type="deleted"] .folder-icon svg[data-v-507e30ec],
.folder-item[data-folder-type="deleteditems"] .folder-icon svg[data-v-507e30ec] {
  color: #6f42c1;
}

/* 模板 - 青色，表示模板资源 */
.folder-item[data-folder-type="template"] .folder-icon svg[data-v-507e30ec] {
  color: #17a2b8;
}

/* 激活状态保持原色调 */
.folder-item.active .folder-icon svg[data-v-507e30ec] {
  color: #0366d6;
}

/* 悬停时图标保持与文字相同的颜色 */
.folder-item:hover .folder-icon svg[data-v-507e30ec] {
  color: inherit;
}
.folder-name[data-v-507e30ec] {
  flex: 1;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.folder-count[data-v-507e30ec] {
  font-size: 12px;
  padding: 1px 6px;
  border-radius: 10px;
  min-width: 18px;
  text-align: center;
  font-weight: 500;
}
.folder-count-unread[data-v-507e30ec] {
  background-color: #0366d6;
  color: #ffffff;
}
.folder-count-normal[data-v-507e30ec] {
  background-color: #eaecef;
  color: #6a737d;
}
.folder-item.active .folder-count-unread[data-v-507e30ec] {
  background-color: #0366d6;
  color: #ffffff;
}
.folder-item.active .folder-count-normal[data-v-507e30ec] {
  background-color: #d1d5da;
  color: #24292e;
}
.resizer[data-v-507e30ec] {
  position: absolute;
  z-index: 10;
  transition: background-color 0.2s;
}
.mailbox-resizer[data-v-507e30ec],
.mail-detail-resizer[data-v-507e30ec] {
  width: 1px;
  height: 100%;
  cursor: col-resize;
  top: 0;
  background-color: #f0f2f5;
  border-right: 1px solid #e1e4e8;
  z-index: 10;
}
.mailbox-resizer[data-v-507e30ec]:hover,
.mail-detail-resizer[data-v-507e30ec]:hover,
.mailbox-resizer[data-v-507e30ec]:active,
.mail-detail-resizer[data-v-507e30ec]:active {
  background-color: #0366d6;
  border-right-color: #0366d6;
}
.email-list-section[data-v-507e30ec] {
  flex: 0 0 auto;
  width: 360px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #ffffff;
}
.component-header[data-v-507e30ec] {
  padding: 16px;
  border-bottom: 1px solid #eaecef;
  background-color: #ffffff;
}
.section-header-content[data-v-507e30ec] {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (min-width: 768px) {
.section-header-content[data-v-507e30ec] {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.section-header-content .email-search[data-v-507e30ec] {
    width: 300px;
    margin-top: 0;
}
}
.email-search[data-v-507e30ec] {
  position: relative;
  width: 100%;
  margin-top: 8px;
}
.email-search input[data-v-507e30ec] {
  width: 100%;
  padding: 8px 12px;
  padding-right: 32px;
  border: 1px solid #eaecef;
  border-radius: 6px;
  font-size: 14px;
  background-color: #f6f8fa;
  color: #24292e;
  transition: all 0.2s ease;
}
.email-search input[data-v-507e30ec]:focus {
  outline: none;
  border-color: #0366d6;
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.1);
}
.clear-button[data-v-507e30ec] {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #959da5;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.clear-button[data-v-507e30ec]:hover {
  background-color: #f3f4f6;
  color: #0366d6;
}
.section-title[data-v-507e30ec] {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  color: #24292e;
  text-transform: uppercase;
}
.search-query[data-v-507e30ec] {
  font-weight: normal;
  color: #666;
  font-style: italic;
  text-transform: none;
}
.search-status[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.search-count[data-v-507e30ec] {
  font-size: 12px;
  color: #666;
}
.clear-search-btn[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 4px;
  background: #f8f9fa;
  border: 1px solid #e1e4e8;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: auto;
}
.clear-search-btn[data-v-507e30ec]:hover {
  background: #e1e4e8;
  border-color: #d0d7de;
  color: #333;
  letter-spacing: 0.5px;
}

/* 搜索关键词高亮样式 */
.search-highlight[data-v-507e30ec] {
  background-color: #ffeb3b;
  color: #333;
  padding: 1px 2px;
  border-radius: 2px;
  font-weight: 500;
}
.email-cards[data-v-507e30ec] {
  flex: 1;
  overflow-y: auto;
}
.email-cards-grid[data-v-507e30ec] {
  display: flex;
  flex-direction: column;
}
.empty-emails[data-v-507e30ec],
.loading-state[data-v-507e30ec],
.error-state[data-v-507e30ec] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #586069;
  text-align: center;
  height: 100%;
}
.empty-emails p[data-v-507e30ec],
.loading-state div[data-v-507e30ec]:nth-child(2),
.error-state div[data-v-507e30ec]:nth-child(2) {
  font-size: 14px;
  margin: 16px 0;
}
.tip-text[data-v-507e30ec] {
  font-size: 13px;
  color: #959da5;
  margin-top: 8px;
}
.loading-spinner[data-v-507e30ec] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-507e30ec 1s linear infinite;
}
@keyframes spin-507e30ec {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.error-icon[data-v-507e30ec] {
  width: 40px;
  height: 40px;
  background-color: #ffdce0;
  color: #cb2431;
  font-weight: bold;
  font-size: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.retry-button[data-v-507e30ec] {
  padding: 6px 16px;
  background-color: #0366d6;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.retry-button[data-v-507e30ec]:hover {
  background-color: #005cc5;
}
.email-card[data-v-507e30ec] {
  display: flex;
  padding: 12px;
  border-bottom: 1px solid #eaecef;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  position: relative;
  align-items: flex-start;
  border-left: 6px solid transparent;
}
.email-check[data-v-507e30ec] {
  position: absolute;
  top: 6px;
  left: 4px;
  width: 10px;
  height: 10px;
  border: 2px solid #c9d1d9;
  border-radius: 4px;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2ea44f;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* 鼠标悬停在邮件卡片时显示多选按钮 */
.email-card:hover .email-check[data-v-507e30ec] {
  opacity: 1;
}

/* 已选中的多选按钮始终显示 */
.email-check.checked[data-v-507e30ec] {
  border-color: #2ea44f;
  background-color: #e6f4ea;
  opacity: 1;
}
.email-card[data-v-507e30ec]:hover {
  border-color: #d1d5da;
}
.email-card.unread[data-v-507e30ec] {
  background-color: #f0f7ff;
  border-left: 6px solid #0366d6;
}
.email-card.selected[data-v-507e30ec] {
  background-color: #f1f8e9;
  padding-left: 16px;
}
.email-avatar[data-v-507e30ec] {
  width: 40px;
  height: 40px;
  background-color: #e1f0fe;
  color: #0366d6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 16px;
  margin-right: 12px;
  flex-shrink: 0;
  text-transform: uppercase;
}
.email-card.unread .email-avatar[data-v-507e30ec] {
  background-color: #0366d6;
  color: #ffffff;
}
.email-card-header[data-v-507e30ec] {
  flex: 0 0 auto;
  margin-right: 12px;
}
.email-card-content[data-v-507e30ec] {
  flex: 1;
  min-width: 0;
}
.email-subject[data-v-507e30ec] {
  font-size: 15px;
  font-weight: 500;
  color: #24292e;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.email-card.unread .email-subject[data-v-507e30ec] {
  font-weight: 600;
  color: #0366d6;
}
.email-sender-info[data-v-507e30ec] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.email-sender[data-v-507e30ec] {
  font-size: 14px;
  color: #24292e;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.email-card.unread .email-sender[data-v-507e30ec] {
  font-weight: 600;
}
.email-date-container[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.email-folder-name[data-v-507e30ec] {
  font-size: 11px;
  color: #6a737d;
  background-color: #f1f3f4;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
  margin-right: 4px;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  border: solid 1px #ccc;
}
.email-date[data-v-507e30ec] {
  font-size: 12px;
  color: #586069;
  white-space: nowrap;
  margin-left: 8px;
}
.email-preview[data-v-507e30ec] {
  font-size: 13px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  margin-top: 4px;
  line-height: 1.4;
}
.email-actions[data-v-507e30ec] {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s ease;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2px;
  border-radius: 4px;
}
.email-card:hover .email-actions[data-v-507e30ec] {
  opacity: 1;
}
.section-header-content .email-actions.header-actions[data-v-507e30ec] {
  position: static;
  visibility: hidden;
  opacity: 0;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2px;
  border-radius: 4px;
  display: flex;
  gap: 4px;
  margin-left: auto;
  /* 在 row 布局时推到右侧 */
  pointer-events: none;
  /* 隐藏时不可点击 */
  transition: opacity 0.2s ease;
}

/* 有邮件被选中时显示按钮 */
.section-header-content .email-actions.header-actions.visible[data-v-507e30ec] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  /* 显示时可点击 */
}
@media (max-width: 768px) {
.section-header-content .email-actions.header-actions[data-v-507e30ec] {
    margin-left: 0;
    margin-top: 8px;
}
}
.email-action-button[data-v-507e30ec] {
  background: none;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #586069;
  cursor: pointer;
  transition: all 0.2s ease;
}
.email-action-button[data-v-507e30ec]:hover {
  background-color: #f3f4f6;
  color: #0366d6;
}
.email-action-button[title="删除"][data-v-507e30ec]:hover {
  color: #cb2431;
}
.load-more-container[data-v-507e30ec] {
  display: flex;
  justify-content: center;
  padding: 16px;
}
.load-more-button[data-v-507e30ec] {
  padding: 6px 16px;
  background-color: #0366d6;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.load-more-button[data-v-507e30ec]:hover {
  background-color: #005cc5;
}
.loading-more-state[data-v-507e30ec] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  color: #586069;
}
.loading-more-state .loading-spinner[data-v-507e30ec] {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  border-width: 2px;
}

/* 美化滚动条 */
.folder-list[data-v-507e30ec]::-webkit-scrollbar,
.email-cards[data-v-507e30ec]::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.mail-detail-body[data-v-507e30ec]::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.folder-list[data-v-507e30ec]::-webkit-scrollbar-thumb,
.email-cards[data-v-507e30ec]::-webkit-scrollbar-thumb,
.mail-detail-body[data-v-507e30ec]::-webkit-scrollbar-thumb {
  background-color: #d1d5da;
  border-radius: 3px;
}
.folder-list[data-v-507e30ec]::-webkit-scrollbar-track,
.email-cards[data-v-507e30ec]::-webkit-scrollbar-track,
.mail-detail-body[data-v-507e30ec]::-webkit-scrollbar-track {
  background-color: transparent;
}
.folder-list[data-v-507e30ec]:hover::-webkit-scrollbar-thumb,
.email-cards[data-v-507e30ec]:hover::-webkit-scrollbar-thumb,
.mail-detail-body[data-v-507e30ec]:hover::-webkit-scrollbar-thumb {
  background-color: #959da5;
}

/* 轻微的悬停动画 */
.folder-item[data-v-507e30ec],
.email-card[data-v-507e30ec],
.retry-button[data-v-507e30ec],
.load-more-button[data-v-507e30ec],
.email-action-button[data-v-507e30ec],
.add-folder-button[data-v-507e30ec] {
  transition: all 0.2s cubic-bezier(0.3, 0, 0.2, 1);
}

/* 点击波纹效果 */
.folder-item[data-v-507e30ec]:active,
.email-card[data-v-507e30ec]:active,
.retry-button[data-v-507e30ec]:active,
.load-more-button[data-v-507e30ec]:active {
  transform: scale(0.98);
}

/* 无邮件时的空状态美化 */
.empty-emails svg[data-v-507e30ec],
.loading-state .loading-spinner[data-v-507e30ec],
.error-state .error-icon[data-v-507e30ec] {
  margin-bottom: 16px;
  opacity: 0.7;
}
.empty-emails p[data-v-507e30ec],
.loading-state div[data-v-507e30ec]:nth-child(2),
.error-state div[data-v-507e30ec]:nth-child(2) {
  font-size: 16px;
  color: #586069;
  margin-bottom: 8px;
}

/* 邮件数量标记样式优化 */
.folder-count[data-v-507e30ec] {
  min-width: 22px;
  height: 18px;
  line-height: 18px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 600;
}
.batch-generate-button[data-v-507e30ec] {
  background-color: #17a2b8 !important;
  color: #ffffff !important;
  border: 1px solid #17a2b8 !important;
}
.batch-generate-button[data-v-507e30ec]:hover {
  background-color: #138496 !important;
  border-color: #138496 !important;
}
.batch-generate-button[data-v-507e30ec]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.batch-generate-button .button-loader[data-v-507e30ec] {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid #ffffff;
  border-radius: 50%;
  animation: button-spin-507e30ec 1s linear infinite;
}
@keyframes button-spin-507e30ec {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.batch-task-drawer[data-v-507e30ec] {
  background-color: #ffffff;
  border-top: 1px solid #eaecef;
  transition: all 0.3s ease;
  overflow: hidden;
}
.batch-task-drawer .drawer-content[data-v-507e30ec] {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.batch-task-drawer.open .drawer-content[data-v-507e30ec] {
  max-height: 400px;
}
.drawer-header[data-v-507e30ec] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background-color: #f8f9fa;
  border-bottom: 1px solid #e1e4e8;
  cursor: pointer;
  transition: background-color 0.2s ease;
  position: relative;
  overflow: hidden;
}
.drawer-header[data-v-507e30ec]:hover {
  background-color: #e1e4e8;
}
.drawer-header.loading[data-v-507e30ec] {
  background: linear-gradient(90deg,
      rgba(25, 118, 210, 0.1) 0%,
      rgba(25, 118, 210, 0.3) 25%,
      rgba(25, 118, 210, 0.5) 50%,
      rgba(25, 118, 210, 0.3) 75%,
      rgba(25, 118, 210, 0.1) 100%);
  background-size: 200% 100%;
  animation: gradient-move-507e30ec 2s ease-in-out infinite;
}
.drawer-header.loading[data-v-507e30ec]:hover {
  background: linear-gradient(90deg,
      rgba(25, 118, 210, 0.2) 0%,
      rgba(25, 118, 210, 0.4) 25%,
      rgba(25, 118, 210, 0.6) 50%,
      rgba(25, 118, 210, 0.4) 75%,
      rgba(25, 118, 210, 0.2) 100%);
  background-size: 200% 100%;
  animation: gradient-move-507e30ec 2s ease-in-out infinite;
}
@keyframes gradient-move-507e30ec {
0% {
    background-position: -200% 0;
}
100% {
    background-position: 200% 0;
}
}
.drawer-title[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: #24292e;
}
.drawer-toggle[data-v-507e30ec] {
  color: #586069;
  transition: transform 0.3s ease;
}
.drawer-toggle svg.rotated[data-v-507e30ec] {
  transform: rotate(180deg);
}
.drawer-content[data-v-507e30ec] {
  padding: 0;
}
.task-list[data-v-507e30ec] {
  padding: 0;
}
.task-card[data-v-507e30ec] {
  display: flex;
  padding: 12px;
  border-bottom: 1px solid #eaecef;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #ffffff;
  position: relative;
  align-items: flex-start;
  border-left: 6px solid transparent;
  min-height: 80px;
}
.task-card[data-v-507e30ec]:hover {
  border-color: #d1d5da;
  background-color: #f8f8f8;
}
.task-card.completed[data-v-507e30ec] {
  border-left-color: #2e7d32;
  background-color: #f1f8e9;
}
.task-card.pending[data-v-507e30ec] {
  border-left-color: #6c757d;
  background-color: #f8f9fa;
}
.task-card.failed[data-v-507e30ec] {
  border-left-color: #d32f2f;
  background-color: #ffebee;
}
.task-card.running[data-v-507e30ec] {
  border-left-color: #1976d2;
  background-color: #e3f2fd;
}
.task-card-header[data-v-507e30ec] {
  flex: 0 0 auto;
  margin-right: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 60px;
}
.task-avatar[data-v-507e30ec] {
  width: 40px;
  height: 40px;
  background-color: #e1f0fe;
  color: #0366d6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.task-name[data-v-507e30ec] {
  font-size: 13px;
  font-weight: bold;
  color: #24292e;
  margin-top: 4px;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60px;
}
.task-status-badge[data-v-507e30ec] {
  font-size: 10px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60px;
  margin-bottom: 8px;
}
.task-card-content[data-v-507e30ec] {
  flex: 1;
  min-width: 0;
  padding-top: 4px;
}
.task-info-row[data-v-507e30ec] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.task-company[data-v-507e30ec] {
  font-size: 13px;
  color: #24292e;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.task-date[data-v-507e30ec] {
  font-size: 13px;
  color: #586069;
  white-space: nowrap;
}
.task-title-row[data-v-507e30ec],
.task-email-row[data-v-507e30ec] {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}
.task-title-row svg[data-v-507e30ec],
.task-email-row svg[data-v-507e30ec] {
  flex-shrink: 0;
  color: #586069;
  margin-right: 8px;
}
.task-title[data-v-507e30ec] {
  font-size: 13px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.task-email[data-v-507e30ec] {
  font-size: 13px;
  color: #0366d6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  line-height: 1.4;
  margin-left: 0;
}
.task-error-row[data-v-507e30ec] {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}
.task-error-row svg[data-v-507e30ec] {
  flex-shrink: 0;
  color: #d32f2f;
  margin-right: 8px;
}
.task-error[data-v-507e30ec] {
  font-size: 13px;
  color: #d32f2f;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.task-actions[data-v-507e30ec] {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}
.task-action-button[data-v-507e30ec] {
  background: none;
  border: none;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-size: 12px;
}
.task-action-button[data-v-507e30ec]:hover {
  background-color: #e1e4e8;
}
.task-action-button.primary[data-v-507e30ec] {
  background-color: #0366d6;
  color: #ffffff;
}
.task-action-button.primary[data-v-507e30ec]:hover {
  background-color: #005cc5;
}
.task-action-button.danger[data-v-507e30ec] {
  background-color: #cb2431;
  color: #ffffff;
}
.task-action-button.danger[data-v-507e30ec]:hover {
  background-color: #ffdce0;
}
.task-count[data-v-507e30ec],
.pending-badge[data-v-507e30ec] {
  font-size: 12px;
  color: #586069;
}
.task-count[data-v-507e30ec] {
  margin-left: 8px;
}
.pending-badge[data-v-507e30ec] {
  background-color: #6c757d;
  color: #ffffff;
  padding: 2px 6px;
  border-radius: 12px;
  font-weight: 500;
}
.task-card-selection[data-v-507e30ec] {
  width: 16px;
  height: 16px;
  border: 2px solid #e1e4e8;
  border-radius: 4px;
  margin-right: 8px;
}
.task-card.selected .task-card-selection[data-v-507e30ec] {
  border-color: #0366d6;
}
.empty-tasks[data-v-507e30ec] {
  text-align: center;
  color: #888;
  padding: 48px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.empty-tasks p[data-v-507e30ec] {
  margin: 8px 0;
  font-size: 14px;
}
.empty-hint[data-v-507e30ec] {
  font-size: 12px;
  color: #999;
}

/* 已移除脉冲点动画相关样式，改为drawer-header背景滚动效果 */

/* 测试样式 - 验证修改能力 */
.test-style[data-v-507e30ec] {
  color: red;
}


/* 邮件标签样式 */
.email-tags[data-v-507e30ec] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.email-tag[data-v-507e30ec] {
  font-size: 11px;
  color: #ffffff;
  padding: 2px 6px;
  border-radius: 12px;
  font-weight: 500;
}
.email-tag.tag-template-generated[data-v-507e30ec] {
  background-color: #17a2b8;
}
.email-tag.tag-default[data-v-507e30ec] {
  background-color: #6c757d;
}
.email-attachment-icon[data-v-507e30ec] {
  width: 16px;
  height: 16px;
  color: #6c757d;
  flex-shrink: 0;
  transform: rotate(45deg);
}

/* IMAP协议切换开关样式 */
.imap-toggle-container[data-v-507e30ec] {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.imap-toggle-label[data-v-507e30ec] {
  display: flex;
  align-items: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-size: 14px;
  color: #586069;
}
.imap-toggle-input[data-v-507e30ec] {
  display: none;
}
.imap-toggle-slider[data-v-507e30ec] {
  position: relative;
  width: 44px;
  height: 24px;
  background-color: #e1e4e8;
  border-radius: 12px;
  transition: background-color 0.3s ease;
  margin-right: 8px;
}
.imap-toggle-slider[data-v-507e30ec]::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background-color: #ffffff;
  border-radius: 50%;
  transition: transform 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.imap-toggle-input:checked+.imap-toggle-slider[data-v-507e30ec] {
  background-color: #0366d6;
}
.imap-toggle-input:checked+.imap-toggle-slider[data-v-507e30ec]::before {
  transform: translateX(20px);
}
.imap-toggle-text[data-v-507e30ec] {
  white-space: nowrap;
  font-weight: 500;
}
.imap-toggle-label:hover .imap-toggle-text[data-v-507e30ec] {
  color: #0366d6;
}
.imap-toggle-input:checked+.imap-toggle-slider+.imap-toggle-text[data-v-507e30ec] {
  color: #0366d6;
  font-weight: 600;
}

/* 文件夹管理样式 */
.folder-header[data-v-507e30ec] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border-bottom: 1px solid #e1e4e8;
  background-color: #f6f8fa;
}
.folder-title[data-v-507e30ec] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #24292e;
}
.add-folder-button[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #1976d2;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.add-folder-button[data-v-507e30ec]:hover {
  background-color: #0256b3;
}
.folder-tree-item[data-v-507e30ec] {
  margin-bottom: 4px;
}
.folder-item[data-v-507e30ec] {
  position: relative;
}
.folder-children[data-v-507e30ec] {
  margin-left: 20px;
  border-left: 1px solid #e1e4e8;
  padding-left: 8px;
}
.folder-child[data-v-507e30ec] {
  margin-top: 2px;
  margin-bottom: 2px;
  padding-left: 8px;
}
.folder-children[data-v-507e30ec] {
  margin-left: 20px;
  border-left: 1px solid #e1e4e8;
  padding-left: 8px;
  margin-top: 4px;
  margin-bottom: 4px;
}
.folder-menu[data-v-507e30ec] {
  position: absolute;
  background-color: #ffffff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  min-width: 120px;
}
.folder-menu-item[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 12px;
  color: #24292e;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.folder-menu-item[data-v-507e30ec]:hover {
  background-color: #f6f8fa;
}
.folder-menu-item.danger[data-v-507e30ec] {
  color: #d73a49;
}
.folder-menu-item.danger[data-v-507e30ec]:hover {
  background-color: #ffeef0;
}
.folder-menu-trigger[data-v-507e30ec] {
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.folder-menu-trigger[data-v-507e30ec]:hover {
  opacity: 1;
}
.folder-input-container[data-v-507e30ec] {
  padding: 8px 16px;
  border-bottom: 1px solid #e1e4e8;
}
.folder-input-container.folder-child-input[data-v-507e30ec] {
  padding-left: 32px;
  /* 为子文件夹输入框增加缩进 */
  border-bottom: none;
  /* 移除底部边框，避免重复 */
}
.folder-input[data-v-507e30ec] {
  width: calc(100% - 24px);
  padding: 8px 12px;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  font-size: 12px;
  outline: none;
  transition: border-color 0.2s ease;
}
.folder-input[data-v-507e30ec]:focus {
  border-color: #0366d6;
  box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.1);
}
.folder-input-hint[data-v-507e30ec] {
  font-size: 11px;
  color: #666;
  margin-bottom: 4px;
  padding: 0 4px;
}
.folder-rename-input[data-v-507e30ec] {
  background: transparent;
  border: none;
  outline: none;
  font-size: inherit;
  font-family: inherit;
  color: inherit;
  width: 100%;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
.folder-rename-input[data-v-507e30ec]:focus {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  padding: 1px 2px;
}

/* 模态框样式 */
.modal[data-v-507e30ec] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
.modal-content[data-v-507e30ec] {
  background-color: white;
  border-radius: 8px;
  padding: 24px;
  min-width: 400px;
  max-width: 500px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.modal-content h3[data-v-507e30ec] {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: #24292e;
}

/* 通知消息样式 */
.toast-container[data-v-507e30ec] {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
}
.toast[data-v-507e30ec] {
  padding: 12px 20px;
  border-radius: 4px;
  color: white;
  font-size: 14px;
  margin-bottom: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  animation: slideIn-507e30ec 0.3s ease-out;
}
.toast-success[data-v-507e30ec] {
  background-color: #4caf50;
}
.toast-error[data-v-507e30ec] {
  background-color: #f44336;
}
.toast-warning[data-v-507e30ec] {
  background-color: #ff9800;
}
@keyframes slideIn-507e30ec {
from {
    transform: translateX(100%);
    opacity: 0;
}
to {
    transform: translateX(0);
    opacity: 1;
}
}
.modal-content p[data-v-507e30ec] {
  margin: 0 0 12px 0;
  font-size: 14px;
  color: #586069;
}
.folder-select[data-v-507e30ec] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  font-size: 14px;
  outline: none;
  margin-bottom: 16px;
}
.folder-select[data-v-507e30ec]:focus {
  border-color: #0366d6;
  box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.1);
}
.modal-actions[data-v-507e30ec] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.cancel-button[data-v-507e30ec] {
  padding: 8px 16px;
  background-color: #f6f8fa;
  color: #24292e;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.cancel-button[data-v-507e30ec]:hover {
  background-color: #e1e4e8;
}
.confirm-button[data-v-507e30ec] {
  padding: 8px 16px;
  background-color: #0366d6;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.confirm-button[data-v-507e30ec]:hover {
  background-color: #0256b3;
}

/* 响应式设计 */
@media (max-width: 768px) {
.imap-toggle-container[data-v-507e30ec] {
    margin-left: 0;
    margin-top: 8px;
}
.section-header-content[data-v-507e30ec] {
    flex-direction: column;
    align-items: flex-start;
}
}
.inquiry-button[data-v-507e30ec] {
  background-color: #17a2b8 !important;
  color: #ffffff !important;
  border: 1px solid #17a2b8 !important;
  font-family: inherit !important;
}
.inquiry-button[data-v-507e30ec]:hover {
  background-color: #138496 !important;
  border-color: #138496 !important;
}
.inquiry-button[data-v-507e30ec]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.inquiry-button .button-loader[data-v-507e30ec] {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid #ffffff;
  border-radius: 50%;
  animation: button-spin-507e30ec 1s linear infinite;
}
.quote-button[data-v-507e30ec] {
  background-color: #28a745 !important;
  color: #ffffff !important;
  border: 1px solid #28a745 !important;
  font-family: inherit !important;
}
.quote-button[data-v-507e30ec]:hover {
  background-color: #218838 !important;
  border-color: #218838 !important;
}
.quote-button[data-v-507e30ec]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
@keyframes button-spin-507e30ec {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.quotation-card[data-v-507e30ec]:hover {
  border-color: #ccc;
}
.quotation-card.selected[data-v-507e30ec] {
  background-color: #f1f8e9;
}
.quotation-card.sending[data-v-507e30ec] {
  border-color: #1976d2;
  box-shadow: 0 0 12px rgba(25, 118, 210, 0.4);
  position: relative;
}
.quotation-card-header[data-v-507e30ec] {
  display: flex;
  gap: 8px;
}

/* 新增：路线与主题容器，主题放在路线下方 */
.route-subject[data-v-507e30ec] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding-left: 8px;
}
.quotation-avatar[data-v-507e30ec] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e1f0fe;
  color: #0366d6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  flex-shrink: 0;
}
.quotation-avatar.has-image[data-v-507e30ec] {
  background: transparent;
}
.quotation-avatar img[data-v-507e30ec] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 运输方式头像样式 */
.transport-avatar[data-v-507e30ec] {
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  transition: all 0.2s ease;
}
.transport-avatar.sea[data-v-507e30ec] {
  background: #e3f2fd;
  border-color: #2196f3;
  color: #1976d2;
}
.transport-avatar.air[data-v-507e30ec] {
  background: #fff3e0;
  border-color: #ff9800;
  color: #f57c00;
}
.transport-avatar.land[data-v-507e30ec] {
  background: #e8f5e8;
  border-color: #4caf50;
  color: #388e3c;
}
.transport-avatar svg[data-v-507e30ec] {
  width: 16px;
  height: 16px;
}
.quotation-route[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}
.route-from[data-v-507e30ec],
.route-to[data-v-507e30ec] {
  color: #444;
}
.route-arrow[data-v-507e30ec] {
  margin: 0 8px;
  color: #666;
}
.quotation-cargo[data-v-507e30ec] {
  font-size: 13px;
  color: #666;
  font-weight: 500;
  margin-left: 12px;
}
.quotation-card-content[data-v-507e30ec] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
.quotation-stats[data-v-507e30ec] {
  display: flex;
  justify-content: space-around;
}
.stat-item[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
}
.stat-icon[data-v-507e30ec] {
  flex-shrink: 0;
}
.stat-icon.replied[data-v-507e30ec] {
  color: #28a745;
}
.stat-icon.opened[data-v-507e30ec] {
  color: #007bff;
}
.stat-icon.unopened[data-v-507e30ec] {
  color: #6c757d;
}
.stat-number[data-v-507e30ec] {
  font-weight: 600;
  color: #333;
  padding-left: 4px;
}
.quotation-tags[data-v-507e30ec] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.quotation-tag[data-v-507e30ec] {
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  position: absolute;
  width: 80px;
  background-color: brown;
  color: white;
  text-align: center;
  transform: rotate(45deg);
  top: 10px;
  right: -30px;
}
.transport-tag.sea[data-v-507e30ec] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.transport-tag.air[data-v-507e30ec] {
  background-color: #fff3e0;
  color: #f57c00;
}
.term-tag[data-v-507e30ec] {
  background-color: #f3e5f5;
  color: #7b1fa2;
}
.quotation-dates[data-v-507e30ec] {
  display: flex;
  justify-content: flex-start;
  font-size: 10px;
  color: #666;
}
.date-item[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 3px;
  width: 100%;
}
.date-icon[data-v-507e30ec] {
  flex-shrink: 0;
  opacity: 0.7;
}
.date-value[data-v-507e30ec] {
  color: #999;
  font-size: 12px;
}
.quotation-subject[data-v-507e30ec] {
  margin-top: 4px;
  font-size: 13px;
  color: #586069;
  line-height: 1.6;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-word;
}

/* 工作流发送按钮容器 */
.workflow-send-container[data-v-507e30ec] {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* 工作流发送按钮样式 */
.workflow-send-button[data-v-507e30ec] {
  padding: 4px 8px;
  background-color: #1976d2;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 3px;
  transition: all 0.2s ease;
  font-weight: 500;
  white-space: nowrap;
  min-width: auto;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.workflow-send-button span[data-v-507e30ec] {
  font-size: 12px;
}
.workflow-send-button[data-v-507e30ec]:hover:not(:disabled) {
  background-color: #1565c0;
}
.workflow-send-button[data-v-507e30ec]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.workflow-send-button.completed[data-v-507e30ec] {
  background-color: #e3f2fd;
  color: #1976d2;
  border: 1px solid #90caf9;
  cursor: not-allowed;
}
.workflow-send-button.completed[data-v-507e30ec]:hover {
  background-color: #e3f2fd;
}

/* 根据状态显示不同颜色的按钮 */
.workflow-send-button.pending[data-v-507e30ec] {
  background-color: #1976d2;
  color: white;
  height: 28px;
}
.workflow-send-button.pending[data-v-507e30ec]:hover:not(:disabled) {
  border: solid 1px #ccc;
}
.workflow-send-button.processing[data-v-507e30ec] {
  background-color: #fff3e0;
  color: #f57c00;
  border: 1px solid #ffcc02;
}
.workflow-send-button.processing[data-v-507e30ec]:hover:not(:disabled) {
  background-color: #ffe0b2;
}

/* 工作流状态标签样式已合并到发送按钮中 */
.workflow-send-button .button-loader[data-v-507e30ec] {
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin-507e30ec 1s linear infinite;
}
@keyframes spin-507e30ec {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}

/* Conversation视图样式 */
.conversation-detail-content[data-v-507e30ec] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #fff;
}
.conversation-header[data-v-507e30ec] {
  display: flex;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid #e1e5e9;
  background-color: #f8f9fa;
}
.back-button[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: none;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  color: #24292f;
  cursor: pointer;
  font-size: 14px;
  margin-right: 16px;
  transition: all 0.2s ease;
}
.back-button[data-v-507e30ec]:hover {
  background-color: #f3f4f6;
  border-color: #8c959f;
}
.conversation-title h3[data-v-507e30ec] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #24292f;
}
.conversation-count[data-v-507e30ec] {
  font-size: 12px;
  color: #656d76;
  margin-left: 8px;
}
.conversation-emails[data-v-507e30ec] {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}
.conversation-email-item[data-v-507e30ec] {
  margin-bottom: 8px;
  border: 1px solid #d0d7de;
  border-radius: 8px;
  background-color: #fff;
  transition: all 0.2s ease;
}
.conversation-email-item.latest[data-v-507e30ec] {
  border-color: #0969da;
  box-shadow: 0 1px 3px rgba(9, 105, 218, 0.1);
}

/* 邮件bar样式（折叠状态） */
.email-bar[data-v-507e30ec] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.email-bar[data-v-507e30ec]:hover {
  background-color: #f6f8fa;
}
.email-bar-avatar[data-v-507e30ec] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #0969da;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
  margin-right: 12px;
  flex-shrink: 0;
}
.email-bar-info[data-v-507e30ec] {
  flex: 1;
  min-width: 0;
}
.email-bar-sender[data-v-507e30ec] {
  font-size: 14px;
  font-weight: 600;
  color: #24292f;
  margin-bottom: 2px;
}
.email-bar-subject[data-v-507e30ec] {
  font-size: 13px;
  color: #656d76;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.email-bar-date[data-v-507e30ec] {
  font-size: 12px;
  color: #8c959f;
  margin-left: 12px;
  flex-shrink: 0;
}
.email-bar-expand[data-v-507e30ec] {
  margin-left: 8px;
  color: #8c959f;
  flex-shrink: 0;
}

/* 邮件展开样式 */
.email-expanded[data-v-507e30ec] {
  border: none;
}
.email-expanded-header[data-v-507e30ec] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #e1e5e9;
  background-color: #f6f8fa;
}
.email-expanded-info[data-v-507e30ec] {
  display: flex;
  align-items: flex-start;
  flex: 1;
}
.email-expanded-avatar[data-v-507e30ec] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #0969da;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  margin-right: 12px;
  flex-shrink: 0;
}
.email-expanded-meta[data-v-507e30ec] {
  flex: 1;
}
.email-expanded-sender[data-v-507e30ec] {
  font-size: 16px;
  font-weight: 600;
  color: #24292f;
  margin-bottom: 4px;
}
.email-expanded-date[data-v-507e30ec] {
  font-size: 13px;
  color: #656d76;
  margin-bottom: 4px;
}
.email-expanded-recipients[data-v-507e30ec] {
  font-size: 13px;
  color: #656d76;
}
.email-collapse-button[data-v-507e30ec] {
  background: none;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  padding: 6px;
  cursor: pointer;
  color: #8c959f;
  transition: all 0.2s ease;
}
.email-collapse-button[data-v-507e30ec]:hover {
  background-color: #f3f4f6;
  border-color: #8c959f;
}
.email-expanded-subject[data-v-507e30ec] {
  font-size: 18px;
  font-weight: 600;
  color: #24292f;
  padding: 16px 16px 8px 16px;
  border-bottom: 1px solid #e1e5e9;
}
.email-expanded-body[data-v-507e30ec] {
  padding: 16px;
}
.email-expanded-body .mail-html-body[data-v-507e30ec] {
  line-height: 1.6;
  color: #24292f;
}
.email-expanded-body .mail-text-body[data-v-507e30ec] {
  white-space: pre-wrap;
  line-height: 1.6;
  color: #24292f;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
}
.email-expanded-body .mail-empty-body[data-v-507e30ec] {
  color: #8c959f;
  font-style: italic;
  text-align: center;
  padding: 32px;
}

/* 多邮件折叠header样式 */
.email-collapsed-bar[data-v-507e30ec] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: #f8f9fa;
  cursor: pointer;
  transition: background-color 0.2s ease;
  margin-bottom: 16px;
  margin-left: 4px;
}
.email-collapsed-bar[data-v-507e30ec]:hover {
  background-color: #e9ecef;
}


/* 可点击的邮件header样式 */
.clickable-header[data-v-507e30ec] {
  cursor: pointer;
  position: relative;
}
.clickable-header[data-v-507e30ec]:hover {
  background-color: #f8f9fa;
}
.clickable-header[data-v-507e30ec]::after {
  content: '点击折叠';
  position: absolute;
  top: 8px;
  right: 16px;
  font-size: 12px;
  color: #8c959f;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.clickable-header[data-v-507e30ec]:hover::after {
  opacity: 1;
}

/* Workflow进度条样式 */
.workflow-progress-bar[data-v-507e30ec] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background-color: rgba(25, 118, 210, 0.1);
  overflow: hidden;
  z-index: 10;
  border-radius: 6px 6px 0 0;
  /* 匹配卡片的圆角 */
}
.progress-bar-fill[data-v-507e30ec] {
  height: 100%;
  background: linear-gradient(90deg,
      transparent,
      rgba(25, 118, 210, 0.3),
      #1976d2,
      rgba(25, 118, 210, 0.3),
      transparent);
  background-size: 200% 100%;
  animation: progressSlide-507e30ec 2s infinite linear;
}
@keyframes progressSlide-507e30ec {
0% {
    background-position: -200% 0;
}
100% {
    background-position: 200% 0;
}
}

/* 邮件标签样式 */
.email-tags-container[data-v-507e30ec] {
  margin-bottom: 6px;
  padding: 0 8px;
}
.email-tags-header[data-v-507e30ec] {
  margin-bottom: 8px;
}
.email-tags-title[data-v-507e30ec] {
  font-size: 14px;
  font-weight: 500;
  color: #656d76;
}
.email-tags-header[data-v-507e30ec] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.email-tags-list[data-v-507e30ec] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1;
}
.email-tags-settings-button[data-v-507e30ec] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  color: #656d76;
  transition: all 0.2s;
  flex-shrink: 0;
}
.email-tags-settings-button[data-v-507e30ec]:hover {
  background: #f6f8fa;
  color: #24292f;
}
.email-tag-button[data-v-507e30ec] {
  padding: 2px 8px;
  border: 1px solid #d0d7de;
  border-radius: 12px;
  background-color: #ffffff;
  color: #656d76;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  height: 24px;
}
.email-tag-button[data-v-507e30ec]:hover {
  background-color: #f3f4f6;
  border-color: #8c959f;
  color: #24292f;
}
.email-tag-button.active[data-v-507e30ec] {
  background-color: #0969da;
  border-color: #0969da;
  color: #ffffff;
}

/* Business Development列表样式 */
.business-development-section[data-v-507e30ec] {
  background: #f8f9fa;
  border-right: 1px solid #e9ecef;
  overflow-y: auto;
  height: 100%;
}
.business-development-cards[data-v-507e30ec] {
  padding: 0;
}
.empty-business-development[data-v-507e30ec] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  color: #666;
  text-align: center;
}
.empty-business-development svg[data-v-507e30ec] {
  margin-bottom: 16px;
}
.empty-business-development p[data-v-507e30ec] {
  margin: 0;
  font-size: 14px;
}
.business-development-cards-grid[data-v-507e30ec] {
  display: flex;
  flex-direction: column;
}
.business-development-card[data-v-507e30ec] {
  background: white;
  border-bottom: 1px solid #e9ecef;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.business-development-card[data-v-507e30ec]:hover {
  border-color: #007bff;
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.1);
}
.business-development-card.selected[data-v-507e30ec] {
  background-color: #f1f8e9;
}
.business-development-card.sending[data-v-507e30ec] {
  border-color: #1976d2;
  box-shadow: 0 0 12px rgba(25, 118, 210, 0.4);
  position: relative;
}
.business-development-card-content[data-v-507e30ec] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
.business-development-card-header[data-v-507e30ec] {
  display: flex;
  gap: 8px;
}
.business-development-subject[data-v-507e30ec] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding-left: 8px;
}
.business-development-avatar[data-v-507e30ec] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e1f0fe;
  color: #0366d6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  flex-shrink: 0;
}
.bd-avatar-customer[data-v-507e30ec] {
  background: #e8f5e8;
  border: 2px solid #4caf50;
  color: #388e3c;
}
.business-development-title[data-v-507e30ec] {
  font-weight: 600;
  color: #333;
}
.title-text[data-v-507e30ec] {
  font-size: 14px;
  line-height: 1.4;
}
.business-development-type[data-v-507e30ec] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
}
.business-development-stats[data-v-507e30ec] {
  display: flex;
  justify-content: space-around;
}
.business-development-stats .stat-item[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
}
.business-development-stats .stat-icon.a-type[data-v-507e30ec] {
  color: #28a745;
}
.business-development-stats .stat-icon.b-type[data-v-507e30ec] {
  color: #007bff;
}
.business-development-stats .stat-icon.c-type[data-v-507e30ec] {
  color: #6c757d;
}
.business-development-stats .stat-number[data-v-507e30ec] {
  font-weight: 600;
  color: #333;
  padding-left: 4px;
}
.business-development-dates[data-v-507e30ec] {
  display: flex;
  justify-content: flex-start;
  font-size: 10px;
  color: #666;
}
.business-development-dates .date-item[data-v-507e30ec] {
  display: flex;
  align-items: center;
  gap: 3px;
  width: 100%;
}
.business-development-dates .date-icon[data-v-507e30ec] {
  flex-shrink: 0;
  opacity: 0.7;
}
.business-development-dates .date-value[data-v-507e30ec] {
  font-size: 12px;
  color: #666;
}
.status-tag[data-v-507e30ec] {
  position: absolute;
  top: 10px;
  right: -30px;
  width: 80px;
  background-color: #6c757d;
  color: white;
  text-align: center;
  transform: rotate(45deg);
  font-size: 11px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.status-tag.pending[data-v-507e30ec] {
  background-color: #6c757d;
}
.status-tag.processing[data-v-507e30ec] {
  background-color: #007bff;
}
.status-tag.completed[data-v-507e30ec] {
  background-color: #28a745;
}
.status-tag.failed[data-v-507e30ec] {
  background-color: #dc3545;
}


/* 模态框样式 */
.modal-overlay[data-v-507e30ec] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.email-filter-modal-content[data-v-507e30ec] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  max-width: 90vw;
  max-height: 90vh;
  overflow: auto;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/TargetAudiences.vue?vue&type=style&index=0&id=3bf91e6b&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.target-audiences-container[data-v-3bf91e6b] {
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease-in-out;
  position: relative;
}
.component-header[data-v-3bf91e6b] {
  padding: 12px 16px;
  background-color: #f8f9fa;
  border-bottom: 1px solid #eee;
  width: calc(100% - 32px);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.2s ease;
  flex-shrink: 0;
}
.component-header[data-v-3bf91e6b]:hover {
  background-color: #f1f3f4;
}
.header-content[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.section-title[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #24292e;
  flex: 1;
}
.title-icon[data-v-3bf91e6b] {
  color: #586069;
  margin-right: 8px;
}
.header-controls[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.cc-toggle-button[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #f8f9fa;
  color: #586069;
  border: 1px solid #d1d5da;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  justify-content: center;
  height: 28px;
  padding: 8px;
}
.cc-toggle-button[data-v-3bf91e6b]:hover:not(:disabled) {
  background-color: #f3f4f6;
  border-color: #959da5;
}
.cc-toggle-button.pushed[data-v-3bf91e6b] {
  background-color: #0366d6;
  color: white;
  border-color: #0366d6;
}
.cc-toggle-button.pushed[data-v-3bf91e6b]:hover:not(:disabled) {
  background-color: #0256cc;
  border-color: #0256cc;
}
.cc-toggle-button.disabled[data-v-3bf91e6b] {
  background-color: #0366d6;
  color: white;
  border-color: #0366d6;
  cursor: not-allowed;
  opacity: 0.8;
}
.cc-toggle-button.disabled[data-v-3bf91e6b]:hover {
  background-color: #0366d6;
  border-color: #0366d6;
  color: white;
}
.cc-toggle-button svg[data-v-3bf91e6b] {
  flex-shrink: 0;
}
.switcher-container[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 28px;
}
.switcher-label[data-v-3bf91e6b] {
  font-size: 12px;
  color: #586069;
  font-weight: 500;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.switcher[data-v-3bf91e6b] {
  cursor: pointer;
  display: flex;
  align-items: center;
  height: 28px;
}
.switcher-track[data-v-3bf91e6b] {
  width: 44px;
  height: 20px;
  background-color: #e1e4e8;
  border-radius: 10px;
  position: relative;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
}
.switcher-track.active[data-v-3bf91e6b] {
  background-color: #0366d6;
}
.switcher-thumb[data-v-3bf91e6b] {
  width: 16px;
  height: 16px;
  background-color: white;
  border-radius: 50%;
  position: absolute;
  left: 2px;
  transition: transform 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.switcher-thumb.active[data-v-3bf91e6b] {
  transform: translateX(24px);
}
.collapse-toggle-button[data-v-3bf91e6b] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
  color: #586069;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.collapse-toggle-button[data-v-3bf91e6b]:hover {
  background-color: #f3f4f6;
  color: #24292e;
}
.collapse-toggle-button.expanded[data-v-3bf91e6b] {
  transform: rotate(180deg);
}

/* 标准模式样式 */
.standard-mode[data-v-3bf91e6b] {
  padding: 16px;
}
.standard-recipient-input[data-v-3bf91e6b] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 40px;
}
.recipient-selector-btn[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #f8f9fa;
  color: #586069;
  border: 1px solid #d1d5da;
  border-radius: 6px;
  padding: 6px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
  width: 50px;
  justify-content: center;
}
.recipient-selector-btn[data-v-3bf91e6b]:hover {
  background-color: #f3f4f6;
  border-color: #959da5;
  color: #24292e;
}
.recipient-selector-btn svg[data-v-3bf91e6b] {
  flex-shrink: 0;
}
.email-input-container[data-v-3bf91e6b] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-height: 32px;
  border-bottom: 1px solid #ccc;
}
.email-chips[data-v-3bf91e6b] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.email-chip[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  gap: 4px;
  background-color: #e1f0fe;
  color: #0366d6;
  border-radius: 16px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 500;
  position: relative;
  transition: all 0.2s ease;
}
.email-chip[data-v-3bf91e6b]:hover {
  background-color: #d1e7fd;
}
.chip-text[data-v-3bf91e6b] {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chip-remove-btn[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: #0366d6;
  cursor: pointer;
  padding: 2px;
  border-radius: 50%;
  transition: all 0.2s ease;
  width: 16px;
  height: 16px;
}
.chip-remove-btn[data-v-3bf91e6b]:hover {
  background-color: rgba(3, 102, 214, 0.1);
  color: #0256cc;
}
.email-input[data-v-3bf91e6b] {
  flex: 1;
  min-width: 120px;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
  color: #24292e;
  padding: 4px 0;
  line-height: 1.4;
}
.email-input[data-v-3bf91e6b]::-moz-placeholder {
  color: #959da5;
}
.email-input[data-v-3bf91e6b]::placeholder {
  color: #959da5;
}
.email-input[data-v-3bf91e6b]:focus {
  outline: none;
}
.section-title[data-v-3bf91e6b] {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title .title-icon[data-v-3bf91e6b] {
  color: #444 !important;
  flex-shrink: 0;
}
.component-content[data-v-3bf91e6b] {
  flex: 1;
  overflow-y: auto;
  padding: 0;
  transition: all 0.3s ease-in-out;
}
.recipient-group[data-v-3bf91e6b] {
  border-bottom: 1px solid #f0f0f0;
}
.recipient-group[data-v-3bf91e6b]:last-child {
  border-bottom: none;
}
.group-header[data-v-3bf91e6b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background-color: #fafafa;
  cursor: pointer;
  border-bottom: 1px solid #eee;
  transition: background-color 0.2s;
}
.group-header[data-v-3bf91e6b]:hover {
  background-color: #f0f0f0;
}
.group-header-left[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.collapse-icon[data-v-3bf91e6b] {
  transition: transform 0.2s ease;
  color: #666;
}
.collapse-icon.collapsed[data-v-3bf91e6b] {
  transform: rotate(-90deg);
}
.group-title[data-v-3bf91e6b] {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.recipient-count[data-v-3bf91e6b] {
  font-size: 12px;
  color: #666;
  margin-left: 4px;
}
.import-button[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #1976d2;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 12px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.import-button[data-v-3bf91e6b]:hover {
  background-color: #1565c0;
}
.group-content[data-v-3bf91e6b] {
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.drop-zone[data-v-3bf91e6b] {
  min-height: 60px;
  transition: background-color 0.2s, border-color 0.2s;
  border: 2px dashed transparent;
}
.drop-zone.drag-over[data-v-3bf91e6b] {
  background-color: #e3f2fd;
  border-color: #2196f3;
}
.contacts-list[data-v-3bf91e6b] {
  display: flex;
  flex-direction: column;
}
.recipient-contact-card[data-v-3bf91e6b] {
  display: flex;
  padding: 12px;
  border-bottom: 1px solid #eaecef;
  cursor: pointer;
  transition: all 0.2s ease;
  background-color: #ffffff;
  position: relative;
  align-items: flex-start;
  border-left: 6px solid transparent;
  min-height: 80px;
}
.recipient-contact-card[data-v-3bf91e6b]:hover {
  border-color: #d1d5da;
  background-color: #f8f8f8;
}
.recipient-contact-card.selected[data-v-3bf91e6b] {
  border-left-color: #2e7d32;
  background-color: #f1f8e9;
}
.recipient-contact-card[draggable="true"][data-v-3bf91e6b]:hover {
  cursor: grab;
}
.recipient-contact-card[draggable="true"][data-v-3bf91e6b]:active {
  cursor: grabbing;
}
.recipient-contact-card-selection[data-v-3bf91e6b] {
  width: 0px;
  height: 100%;
  background-color: transparent;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.2s;
}
.recipient-contact-card-selection.selected[data-v-3bf91e6b] {
  background-color: #2e7d32;
}
.recipient-contact-card-header[data-v-3bf91e6b] {
  flex: 0 0 auto;
  margin-right: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 60px;
}
.contact-name[data-v-3bf91e6b] {
  font-size: 13px;
  font-weight: bold;
  color: #24292e;
  margin-top: 4px;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60px;
}
.contact-avatar[data-v-3bf91e6b] {
  width: 40px;
  height: 40px;
  background-color: #e1f0fe;
  color: #0366d6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.recipient-contact-card-content[data-v-3bf91e6b] {
  flex: 1;
  min-width: 0;
  padding-top: 4px;
}
.contact-info-row[data-v-3bf91e6b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.contact-company[data-v-3bf91e6b] {
  font-size: 13px;
  color: #24292e;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.contact-title-row[data-v-3bf91e6b],
.contact-email-row[data-v-3bf91e6b] {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}
.contact-title-row svg[data-v-3bf91e6b],
.contact-email-row svg[data-v-3bf91e6b] {
  flex-shrink: 0;
  color: #586069;
  margin-right: 8px;
}
.contact-title[data-v-3bf91e6b] {
  font-size: 13px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.contact-email[data-v-3bf91e6b] {
  font-size: 13px;
  color: #0366d6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  line-height: 1.4;
  margin-left: 0;
}
.recipient-contact-actions[data-v-3bf91e6b] {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s ease;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2px;
  border-radius: 4px;
}
.recipient-contact-card:hover .recipient-contact-actions[data-v-3bf91e6b] {
  opacity: 1;
}
.contact-action-button[data-v-3bf91e6b] {
  background: none;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #586069;
  cursor: pointer;
  transition: all 0.2s ease;
}
.contact-action-button[data-v-3bf91e6b]:hover {
  background-color: #f3f4f6;
  color: #0366d6;
}
.contact-action-button[title="删除"][data-v-3bf91e6b]:hover {
  color: #cb2431;
}
.empty-contacts[data-v-3bf91e6b] {
  text-align: center;
  padding: 12px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.empty-contacts.drag-over[data-v-3bf91e6b] {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  border-color: #3b82f6;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.15);
}
.empty-state-icon[data-v-3bf91e6b] {
  margin-bottom: 8px;
  color: #64748b;
  transition: color 0.3s ease;
}
.empty-contacts:hover .empty-state-icon[data-v-3bf91e6b] {
  color: #3b82f6;
}
.empty-state-content[data-v-3bf91e6b] {
  max-width: 280px;
}
.empty-state-title[data-v-3bf91e6b] {
  font-size: 14px;
  font-weight: 600;
  color: #1e293b;
  margin: 0 0 8px 0;
  letter-spacing: -0.025em;
}
.empty-state-description[data-v-3bf91e6b] {
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
  font-weight: 400;
}
.loading-state[data-v-3bf91e6b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #586069;
  text-align: center;
  height: 100%;
}
.loading-spinner[data-v-3bf91e6b] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-3bf91e6b 1s linear infinite;
}
@keyframes spin-3bf91e6b {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.contact-relationship[data-v-3bf91e6b] {
  font-size: 10px;
  color: #586069;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60px;
  margin-bottom: 8px;
}

/* 调研中状态样式 */
.contact-relationship .dots-animation[data-v-3bf91e6b] {
  color: #1976d2;
  font-weight: bold;
  font-style: normal;
  display: inline-block;
  width: 20px;
  text-align: left;
}
.contact-relationship .dots-animation[data-v-3bf91e6b]::after {
  content: '...';
  animation: blink-3bf91e6b 1.5s infinite;
}

/* 点点动画 */
@keyframes blink-3bf91e6b {
0%, 50% {
    opacity: 1;
}
51%, 100% {
    opacity: 0;
}
}

/* 调研中的滚动条 */
.research-loading-bar[data-v-3bf91e6b] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, 
    rgba(33, 150, 243, 0.1) 0%, 
    rgba(33, 150, 243, 0.5) 25%, 
    rgba(33, 150, 243, 1) 50%, 
    rgba(33, 150, 243, 0.5) 75%, 
    rgba(33, 150, 243, 0.1) 100%
  );
  background-size: 200% 100%;
  animation: research-wave-scroll-3bf91e6b 2s ease-in-out infinite;
  z-index: 1;
  border-radius: 1.5px;
}
@keyframes research-wave-scroll-3bf91e6b {
0% {
    background-position: 200% 0;
}
100% {
    background-position: -200% 0;
}
}

/* 美化滚动条 */
.component-content[data-v-3bf91e6b]::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.component-content[data-v-3bf91e6b]::-webkit-scrollbar-thumb {
  background-color: #d1d5da;
  border-radius: 3px;
}
.component-content[data-v-3bf91e6b]::-webkit-scrollbar-track {
  background-color: transparent;
}
.component-content[data-v-3bf91e6b]:hover::-webkit-scrollbar-thumb {
  background-color: #959da5;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/SceneStyle.vue?vue&type=style&index=0&id=77e125f0&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.scene-style-container[data-v-77e125f0] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.component-header[data-v-77e125f0] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  position: relative;
}
.section-title[data-v-77e125f0] {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title .title-icon[data-v-77e125f0] {
  color: #333 !important;
  flex-shrink: 0;
}
.component-content[data-v-77e125f0] {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}
.form-group[data-v-77e125f0] {
  margin-bottom: 20px;
  width: calc(100% - 12px);
}
.form-group[data-v-77e125f0]:last-child {
  margin-bottom: 0;
}
.form-group label[data-v-77e125f0] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
  font-weight: bold;
}
.field-icon[data-v-77e125f0] {
  color: #666 !important;
  flex-shrink: 0;
}
.form-group select[data-v-77e125f0] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  margin-left: 8px;
}

/* 注意事项字段样式 */
.note-field-container[data-v-77e125f0] {
  width: 100%;
  padding-left: 8px;
}
.note-display[data-v-77e125f0] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 0;
  min-height: 32px;
}
.note-content[data-v-77e125f0] {
  flex: 1;
  font-size: 12px;
  color: #333;
  line-height: 1.4;
  word-break: break-word;
  white-space: pre-wrap; /* 保留换行效果 */
}
.note-content.empty[data-v-77e125f0] {
  color: #999;
  font-style: italic;
}
.note-action-btn[data-v-77e125f0] {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  background-color: transparent;
}
.edit-btn[data-v-77e125f0] {
  color: #666;
}
.edit-btn[data-v-77e125f0]:hover {
  background-color: #f0f0f0;
  color: #333;
}
.note-edit[data-v-77e125f0] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.note-textarea[data-v-77e125f0] {
  width: 100%;
  min-height: 80px;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 11px;
  font-family: inherit;
  resize: vertical;
  transition: border-color 0.2s;
  line-height: 1.4;
}
.note-textarea[data-v-77e125f0]:focus {
  /* border-color: #1976d2; */
  outline: none;
}
.note-actions[data-v-77e125f0] {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.cancel-btn[data-v-77e125f0] {
  color: #757575;
  background-color: #f5f5f5;
}
.cancel-btn[data-v-77e125f0]:hover {
  background-color: #e0e0e0;
  color: #424242;
}
.save-btn[data-v-77e125f0] {
  color: white;
  background-color: #1976d2;
}
.save-btn[data-v-77e125f0]:hover:not(:disabled) {
  background-color: #1565c0;
}
.save-btn[data-v-77e125f0]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.loading-spinner[data-v-77e125f0] {
  width: 16px;
  height: 16px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #1976d2;
  border-radius: 50%;
  animation: spin-77e125f0 1s linear infinite;
}
@keyframes spin-77e125f0 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.style-options[data-v-77e125f0] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-left: 8px;
}
.urgency-options[data-v-77e125f0] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-left: 8px;
}
.urgency-option[data-v-77e125f0] {
  padding: 6px 12px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.urgency-option.active[data-v-77e125f0] {
  background-color: #fff3e0;
  border-color: #ffb74d;
  color: #e65100;
}
.style-option[data-v-77e125f0] {
  padding: 6px 12px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.style-option.active[data-v-77e125f0] {
  background-color: #e1f5fe;
  border-color: #4fc3f7;
  color: #0277bd;
}
.tone-slider[data-v-77e125f0] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-left: 8px;
}
.tone-slider span[data-v-77e125f0] {
  font-size: 12px;
  color: #666;
  width: 40px;
  font-weight: 500;
  text-align: center;
}
.slider-container[data-v-77e125f0] {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
}
.slider-value[data-v-77e125f0] {
  position: absolute;
  top: -28px;
  left: calc(var(--value, 50%) - 12px);
  background: #1976d2;
  color: white;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  min-width: 24px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(25, 118, 210, 0.3);
  transition: all 0.2s ease;
  opacity: 0;
  transform: translateY(4px);
  pointer-events: none;
}
.slider-container:hover .slider-value[data-v-77e125f0] {
  opacity: 1;
  transform: translateY(0);
}
.slider-value[data-v-77e125f0]::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: #1976d2;
}

/* 为不同类型的滑块设置特定的数值显示颜色 */
.formality-slider .slider-value[data-v-77e125f0] {
  background: #ff8f00;
  box-shadow: 0 2px 6px rgba(255, 143, 0, 0.3);
}
.formality-slider .slider-value[data-v-77e125f0]::after {
  border-top-color: #ff8f00;
}
.length-slider .slider-value[data-v-77e125f0] {
  background: #ab47bc;
  box-shadow: 0 2px 6px rgba(171, 71, 188, 0.3);
}
.length-slider .slider-value[data-v-77e125f0]::after {
  border-top-color: #ab47bc;
}
.slider[data-v-77e125f0] {
  flex: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  height: 6px;
  background: linear-gradient(to right, #e3f2fd 0%, #bbdefb 50%, #90caf9 100%);
  border-radius: 3px;
  outline: none;
  position: relative;
  transition: all 0.3s ease;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}
.slider[data-v-77e125f0]:hover {
  background: linear-gradient(to right, #e1f5fe 0%, #b3e5fc 50%, #81d4fa 100%);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15), 0 0 8px rgba(25, 118, 210, 0.2);
}
.slider[data-v-77e125f0]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
  cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(25, 118, 210, 0.3), 0 1px 3px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  position: relative;
}
.slider[data-v-77e125f0]::-webkit-slider-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 3px 8px rgba(25, 118, 210, 0.4), 0 2px 4px rgba(0, 0, 0, 0.25);
  background: linear-gradient(135deg, #1565c0 0%, #0d47a1 100%);
}
.slider[data-v-77e125f0]::-webkit-slider-thumb:active {
  transform: scale(1.15);
  box-shadow: 0 4px 12px rgba(25, 118, 210, 0.5), 0 2px 6px rgba(0, 0, 0, 0.3);
}

/* Firefox滑块样式 */
.slider[data-v-77e125f0]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
  cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(25, 118, 210, 0.3), 0 1px 3px rgba(0, 0, 0, 0.2);
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.slider[data-v-77e125f0]::-moz-range-thumb:hover {
  transform: scale(1.1);
  box-shadow: 0 3px 8px rgba(25, 118, 210, 0.4), 0 2px 4px rgba(0, 0, 0, 0.25);
  background: linear-gradient(135deg, #1565c0 0%, #0d47a1 100%);
}
.slider[data-v-77e125f0]::-moz-range-track {
  height: 6px;
  background: linear-gradient(to right, #e3f2fd 0%, #bbdefb 50%, #90caf9 100%);
  border-radius: 3px;
  border: none;
}
.slider[data-v-77e125f0]::-moz-range-progress {
  height: 6px;
  background: linear-gradient(to right, #1976d2 0%, #42a5f5 100%);
  border-radius: 3px;
}

/* 添加焦点样式 */
.slider[data-v-77e125f0]:focus {
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15), 0 0 0 3px rgba(25, 118, 210, 0.1);
}
.slider[data-v-77e125f0]:focus::-webkit-slider-thumb {
  box-shadow: 0 3px 8px rgba(25, 118, 210, 0.4), 0 2px 4px rgba(0, 0, 0, 0.25), 0 0 0 3px rgba(25, 118, 210, 0.2);
}

/* 为不同的滑块添加特定的颜色主题 */
.tone-slider.formality-slider .slider[data-v-77e125f0] {
  background: linear-gradient(to right, #fff3e0 0%, #ffcc02 50%, #ff8f00 100%);
}
.tone-slider.formality-slider .slider[data-v-77e125f0]:hover {
  background: linear-gradient(to right, #fff8e1 0%, #ffd54f 50%, #ffa000 100%);
}
.tone-slider.formality-slider .slider[data-v-77e125f0]::-webkit-slider-thumb {
  background: linear-gradient(135deg, #ff8f00 0%, #f57c00 100%);
}
.tone-slider.formality-slider .slider[data-v-77e125f0]::-webkit-slider-thumb:hover {
  background: linear-gradient(135deg, #f57c00 0%, #ef6c00 100%);
}
.tone-slider.formality-slider .slider[data-v-77e125f0]::-moz-range-thumb {
  background: linear-gradient(135deg, #ff8f00 0%, #f57c00 100%);
}
.tone-slider.formality-slider .slider[data-v-77e125f0]::-moz-range-thumb:hover {
  background: linear-gradient(135deg, #f57c00 0%, #ef6c00 100%);
}
.tone-slider.length-slider .slider[data-v-77e125f0] {
  background: linear-gradient(to right, #f3e5f5 0%, #ce93d8 50%, #ab47bc 100%);
}
.tone-slider.length-slider .slider[data-v-77e125f0]:hover {
  background: linear-gradient(to right, #fce4ec 0%, #f48fb1 50%, #e91e63 100%);
}
.tone-slider.length-slider .slider[data-v-77e125f0]::-webkit-slider-thumb {
  background: linear-gradient(135deg, #ab47bc 0%, #8e24aa 100%);
}
.tone-slider.length-slider .slider[data-v-77e125f0]::-webkit-slider-thumb:hover {
  background: linear-gradient(135deg, #8e24aa 0%, #7b1fa2 100%);
}
.tone-slider.length-slider .slider[data-v-77e125f0]::-moz-range-thumb {
  background: linear-gradient(135deg, #ab47bc 0%, #8e24aa 100%);
}
.tone-slider.length-slider .slider[data-v-77e125f0]::-moz-range-thumb:hover {
  background: linear-gradient(135deg, #8e24aa 0%, #7b1fa2 100%);
}
.form-group textarea[data-v-77e125f0] {
  width: calc(100% - 24px);
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 12x;
  resize: vertical;
  transition: border-color 0.2s;
}
.form-group textarea[data-v-77e125f0]:focus {
  /* border-color: #1976d2; */
  outline: none;
}

/* 模板部分样式 */
.template-section[data-v-77e125f0] {
  margin-top: 10px;
}
.template-list[data-v-77e125f0] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 200px;
  overflow-y: auto;
}
.template-item[data-v-77e125f0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  background-color: #f9f9f9;
  border-radius: 4px;
  border-left: 3px solid #1976d2;
}
.template-title[data-v-77e125f0] {
  font-size: 13px;
  color: #333;
}
.use-template-button[data-v-77e125f0] {
  background: none;
  border: none;
  color: #1976d2;
  font-size: 13px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.use-template-button[data-v-77e125f0]:hover {
  background-color: #e3f2fd;
}
.no-templates[data-v-77e125f0] {
  padding: 10px;
  text-align: center;
  color: #999;
  font-style: italic;
  font-size: 13px;
}
.slider-ticks[data-v-77e125f0] {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  transform: translateY(-50%);
}
.tick[data-v-77e125f0] {
  width: 2px;
  height: 8px;
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 1px;
  transform: translateY(-2px);
  transition: all 0.2s ease;
}
.slider-container:hover .tick[data-v-77e125f0] {
  background-color: rgba(0, 0, 0, 0.4);
  height: 10px;
  transform: translateY(-3px);
}

/* 为不同类型的滑块设置特定的刻度颜色 */
.formality-slider .tick[data-v-77e125f0] {
  background-color: rgba(255, 143, 0, 0.3);
}
.formality-slider .slider-container:hover .tick[data-v-77e125f0] {
  background-color: rgba(255, 143, 0, 0.6);
}
.length-slider .tick[data-v-77e125f0] {
  background-color: rgba(171, 71, 188, 0.3);
}
.length-slider .slider-container:hover .tick[data-v-77e125f0] {
  background-color: rgba(171, 71, 188, 0.6);
}

/* 场景分析loading图标样式 */
.loading-icon[data-v-77e125f0] {
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
}
.spinner[data-v-77e125f0] {
  width: 100%;
  height: 100%;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-top: 4px solid #1976d2;
  border-radius: 50%;
  animation: spin-77e125f0 1s linear infinite;
}
@keyframes spin-77e125f0 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 询价报价特殊字段样式 */
.inquiry-quote-fields[data-v-77e125f0],
.quotation-fields[data-v-77e125f0] {
  border: 1px solid #e3f2fd;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #f8fffe 0%, #f0f9ff 100%);
  min-height: auto;
}

/* 特征字段网格布局 */
.feature-grid[data-v-77e125f0] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.feature-field[data-v-77e125f0] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 12px;
}
.feature-field label[data-v-77e125f0] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
  margin-bottom: 0;
}

/* 在 feature-grid 中的 feature-field 不需要额外的 margin-bottom */
.feature-grid .feature-field[data-v-77e125f0] {
  margin-bottom: 0;
}
.feature-input[data-v-77e125f0] {
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 12px;
  transition: border-color 0.2s;
  background: white;
  width: calc(100% - 18px);
}
.feature-input[data-v-77e125f0]:focus {
  border-color: #1976d2;
  outline: none;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}
.feature-input[data-v-77e125f0]::-moz-placeholder {
  color: #999;
  font-size: 11px;
}
.feature-input[data-v-77e125f0]::placeholder {
  color: #999;
  font-size: 11px;
}

/* select 元素样式 */
.feature-input[type="text"][data-v-77e125f0],
.feature-input[type="text"][data-v-77e125f0]:focus,
select.feature-input[data-v-77e125f0],
select.feature-input[data-v-77e125f0]:focus {
  width: calc(100% - 18px);
}
select.feature-input[data-v-77e125f0] {
  cursor: pointer;
}
select.feature-input option[disabled][data-v-77e125f0] {
  color: #999;
}

/* 位置字段左右布局 */
.location-row[data-v-77e125f0] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}
.location-field[data-v-77e125f0] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.location-field label[data-v-77e125f0] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
}
.location-field select[data-v-77e125f0],
.location-field input[data-v-77e125f0] {
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  transition: border-color 0.2s;
  background: white;
  width: calc(100% - 20px);
  margin-left: 0;
}
.location-field select[data-v-77e125f0]:focus,
.location-field input[data-v-77e125f0]:focus {
  border-color: #1976d2;
  outline: none;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}

/* 运输方式下拉框 */
.transport-row[data-v-77e125f0] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.transport-row label[data-v-77e125f0] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
  min-width: 60px;
}
.transport-select[data-v-77e125f0] {
  flex: 1;
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  background: white;
  transition: border-color 0.2s;
}
.transport-select[data-v-77e125f0]:focus {
  border-color: #1976d2;
  outline: none;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}

/* 保留旧样式以防兼容性问题 */
.location-input[data-v-77e125f0] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  margin-left: 8px;
  transition: border-color 0.2s;
}
.location-input[data-v-77e125f0]:focus {
  border-color: #1976d2;
  outline: none;
}
.location-input-container[data-v-77e125f0] {
  position: relative;
  width: 100%;
}

/* 定位下拉框到输入框下方 - 固定定位，可覆盖右侧面板 */
.location-input-container[data-v-77e125f0] {
  position: relative;
}
.location-input-container .city-dropdown.ctrip-style[data-v-77e125f0] {
  position: fixed !important;
  transform: translateZ(0); /* 启用硬件加速 */
}
.city-dropdown[data-v-77e125f0] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-top: none;
  border-radius: 0 0 4px 4px;
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* 确保携程风格下拉框在所有元素之上 */
.city-dropdown.ctrip-style[data-v-77e125f0] {
  z-index: 10000 !important;
}

/* 增强版下拉框样式（参考携程） */
.city-dropdown.enhanced[data-v-77e125f0] {
  max-height: 400px;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

/* 携程风格的下拉框 - 可以覆盖右侧面板 */
.city-dropdown.ctrip-style[data-v-77e125f0] {
  position: fixed !important;
  height: 400px; /* 增加高度：约5个card的高度 */
  min-width: 480px;
  max-width: 600px;
  width: auto;
  left: auto !important;
  right: auto !important;
  z-index: 9999;
  border-radius: 8px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
  background: white;
  border: 1px solid #e0e0e0;
  margin-top: 4px;
  overflow-y: auto; /* 内容超出时可滚动 */
  overflow-x: hidden;
}
.city-option[data-v-77e125f0] {
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s;
}

/* 增强版城市选项样式 */
.city-option.enhanced[data-v-77e125f0] {
  padding: 14px 20px;
  position: relative;
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.2s ease;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.city-option.enhanced[data-v-77e125f0]:hover {
  background-color: #f8f9fa;
}
.city-option.enhanced[data-v-77e125f0]:hover {
  background-color: #f8f9fa;
}

/* 城市类型标签容器（机场/城市） */
.city-type-badges[data-v-77e125f0] {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* 城市类型标签（机场/城市）- 不拉满整个框 */
.city-type-badge[data-v-77e125f0] {
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
.city-type-badge.airport[data-v-77e125f0] {
  background: #fff3e0;
  color: #ff6f00;
  border: 1px solid #ffcc02;
}
.city-type-badge.city[data-v-77e125f0] {
  background: #e3f2fd;
  color: #1976d2;
  border: 1px solid #64b5f6;
}
.city-option-main[data-v-77e125f0] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  flex: 1;
  min-width: 0;
  cursor: pointer;
}
.city-content[data-v-77e125f0] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
}
.city-left[data-v-77e125f0] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.city-right[data-v-77e125f0] {
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* 右起第一个 */
  gap: 6px;
  flex-shrink: 0;
  justify-content: flex-start;
}
.city-right-top[data-v-77e125f0] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.city-right-bottom[data-v-77e125f0] {
  display: flex;
  align-items: center;
  justify-content: flex-end; /* 右对齐 */
  flex-wrap: nowrap; /* 强制单行，避免变3行 */
  gap: 8px;
  max-width: 360px;
}
.city-right-bottom .city-subdiv[data-v-77e125f0] {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.city-name[data-v-77e125f0] {
  font-weight: 600;
  color: #333;
  font-size: 15px;
  line-height: 1.4;
}
.city-country[data-v-77e125f0] {
  font-size: 12px;
  color: #999;
  line-height: 1.3;
}
.city-subdiv[data-v-77e125f0] {
  font-size: 11px;
  color: #1976d2;
  background: #e3f2fd;
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 500;
  white-space: nowrap;
}
.city-iata[data-v-77e125f0] {
  font-size: 12px;
  color: #ff6f00;
  background: #fff3e0;
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 600;
  white-space: nowrap;
}
.city-code[data-v-77e125f0] {
  font-size: 11px;
  color: #666;
  background: #f5f5f5;
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 500;
  font-family: 'Courier New', monospace;
  white-space: nowrap;
}
.city-functions[data-v-77e125f0] {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.city-function-badge[data-v-77e125f0] {
  font-size: 10px;
  color: #c2185b;
  background: #fce4ec;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: 500;
  white-space: nowrap;
  border: 1px solid #f8bbd0;
}
.transport-mode-options[data-v-77e125f0] {
  display: flex;
  gap: 12px;
  padding-left: 8px;
  margin-top: 8px;
}
.transport-mode-option[data-v-77e125f0] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 8px;
  background-color: #f5f5f5;
  border: 2px solid #ddd;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  min-height: 80px;
  justify-content: center;
  gap: 6px;
}
.transport-mode-option[data-v-77e125f0]:hover {
  background-color: #e3f2fd;
  border-color: #90caf9;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(25, 118, 210, 0.15);
}
.transport-mode-option.active[data-v-77e125f0] {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  border-color: #1976d2;
  color: #0d47a1;
  box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
}
.transport-icon[data-v-77e125f0] {
  color: #666;
  transition: color 0.2s;
}
.transport-mode-option.active .transport-icon[data-v-77e125f0] {
  color: #1976d2;
}
.transport-mode-option span[data-v-77e125f0] {
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}
.transport-mode-option.active span[data-v-77e125f0] {
  font-weight: 600;
}

/* 位置切换开关样式 */
.location-toggle-container[data-v-77e125f0] {
  display: flex;
  justify-content: center;
  padding-left: 8px;
}
.toggle-switch[data-v-77e125f0] {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.toggle-track[data-v-77e125f0] {
  width: 48px;
  height: 24px;
  background: #e0e0e0;
  border-radius: 12px;
  position: relative;
  transition: all 0.3s ease;
  border: 1px solid #e0e0e0;
}
.toggle-track.active[data-v-77e125f0] {
  background: #1976d2;
  border-color: #1976d2;
}
.toggle-thumb[data-v-77e125f0] {
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  position: absolute;
  top: 1px;
  left: 1px;
  transition: all 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.toggle-thumb.active[data-v-77e125f0] {
  transform: translateX(24px);
}
.toggle-label[data-v-77e125f0] {
  font-size: 12px;
  font-weight: 500;
  color: #999;
  transition: color 0.3s ease;
  white-space: nowrap;
}
.toggle-label.active[data-v-77e125f0] {
  color: #1976d2;
  font-weight: 600;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/EmailContent.vue?vue&type=style&index=0&id=69adcf00&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.email-content-container[data-v-69adcf00] {
  padding: 16px;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding-top:0;
}
.subject-field[data-v-69adcf00] {
  margin-bottom: 16px;
  width: calc(100% - 32px);
  height: 40px;
}
.subject-input[data-v-69adcf00] {
  width: 100%;
  padding: 10px 12px;
  font-size: 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-weight: 500;
}
.subject-input[data-v-69adcf00]:focus {
  outline: none;
  /* border-color: #1976d2; */
}
.toolbar[data-v-69adcf00] {
  display: flex;
  gap: 8px;
  padding: 8px 0;
  margin-bottom: 12px;
  border-bottom: 1px solid #eee;
  flex-wrap: wrap;
}
.toolbar-group[data-v-69adcf00] {
  display: flex;
  gap: 2px;
}
.toolbar-button[data-v-69adcf00] {
  background: none;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #555;
  cursor: pointer;
  transition: background-color 0.2s;
  padding: 0;
}
.toolbar-button[data-v-69adcf00]:hover {
  background-color: #f0f0f0;
}
.toolbar-button.active[data-v-69adcf00] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.toolbar-select[data-v-69adcf00] {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 8px;
  height: 28px;
  border-radius: 4px;
  background-color: #fff;
  border: 1px solid #ddd;
  cursor: pointer;
  min-width: 70px;
  justify-content: space-between;
}
.toolbar-select[data-v-69adcf00]:hover {
  border-color: #aaa;
}
.select-label[data-v-69adcf00] {
  font-size: 13px;
  margin-right: 6px;
}
.dropdown-menu[data-v-69adcf00] {
  position: absolute;
  top: 100%;
  left: 0;
  width: 180px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  max-height: 300px;
  overflow-y: auto;
}
.dropdown-item[data-v-69adcf00] {
  padding: 6px 10px;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.dropdown-item[data-v-69adcf00]:hover {
  background-color: #f5f5f5;
}
.toolbar-color-picker[data-v-69adcf00] {
  position: relative;
}
.color-dropdown[data-v-69adcf00] {
  position: absolute;
  top: 100%;
  left: 0;
  width: 240px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  padding: 8px;
}
.color-grid[data-v-69adcf00] {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 2px;
}
.color-swatch[data-v-69adcf00] {
  width: 20px;
  height: 20px;
  border-radius: 2px;
  cursor: pointer;
  transition: transform 0.1s;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.color-swatch[data-v-69adcf00]:hover {
  transform: scale(1.1);
  z-index: 1;
}
.html-editor[data-v-69adcf00] {
  flex: 1;
  width: calc(100% - 32px);
  border: solid 1px #ddd;
  border-radius: 4px;
  overflow: hidden;
  padding: 12px;
  overflow-y: auto;
  min-height: 300px;
}
.html-editor textarea[data-v-69adcf00] {
  width: 100%;
  height: 100%;
  min-height: 300px;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.6;
  resize: none;
  font-family: 'Microsoft Yahei';
  display: none;
}
.html-editor textarea[data-v-69adcf00]:focus {
  outline: none;
  border-color: #1976d2;
  height: calc(100% - 56px - 64px - 60px - 16px);
}
.html-editor[data-v-69adcf00]:focus {
  outline: none;
  /* border-color: #1976d2; */
}
.html-editor h1[data-v-69adcf00] {
  font-size: 1.8em;
  margin-top: 1em;
  margin-bottom: 0.5em;
  font-weight: bold;
  color: #333;
}
.html-editor h2[data-v-69adcf00] {
  font-size: 1.5em;
  margin-top: 0.8em;
  margin-bottom: 0.4em;
  font-weight: bold;
  color: #444;
}
.html-editor h3[data-v-69adcf00] {
  font-size: 1.3em;
  margin-top: 0.6em;
  margin-bottom: 0.3em;
  font-weight: bold;
  color: #555;
}
.html-editor p[data-v-69adcf00] {
  margin-bottom: 1em;
}
.html-editor ul[data-v-69adcf00], 
.html-editor ol[data-v-69adcf00] {
  margin-left: 2em;
  margin-bottom: 1em;
}
.html-editor ul li[data-v-69adcf00], 
.html-editor ol li[data-v-69adcf00] {
  margin-bottom: 0.5em;
}
.html-editor blockquote[data-v-69adcf00] {
  border-left: 3px solid #ddd;
  padding-left: 10px;
  color: #666;
  font-style: italic;
  margin: 1em 0;
}
.html-editor a[data-v-69adcf00] {
  color: #1976d2;
  text-decoration: underline;
}
.html-editor strong[data-v-69adcf00] {
  font-weight: bold;
}
.html-editor em[data-v-69adcf00] {
  font-style: italic;
}
.html-editor code[data-v-69adcf00] {
  font-family: monospace;
  background-color: #f0f0f0;
  padding: 2px 4px;
  border-radius: 3px;
  font-size: 0.9em;
}
.html-editor table[data-v-69adcf00] {
  border-collapse: collapse;
  width: 100%;
  margin: 1em 0;
}
.html-editor table th[data-v-69adcf00],
.html-editor table td[data-v-69adcf00] {
  border: 1px solid #ddd;
  padding: 8px;
}
.html-editor table th[data-v-69adcf00] {
  background-color: #f5f5f5;
  font-weight: bold;
}
.top-toolbar[data-v-69adcf00] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  margin-bottom: 8px;
  border-bottom: 1px solid #eee;
  height: 48px;
}
.left-actions[data-v-69adcf00] {
  display: flex;
  gap: 8px;
}
.right-actions[data-v-69adcf00] {
  display: flex;
}
.toolbar-action-button[data-v-69adcf00] {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 8px 8px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.send-button[data-v-69adcf00] {
  background-color: #c62828;
  color: #fff;
  font-weight: 500;
}
.send-button[data-v-69adcf00]:hover {
  background-color: #b71c1c;
}
.send-button[data-v-69adcf00]:disabled {
  background-color: #ffcdd2;
  color: #ef9a9a;
  cursor: not-allowed;
}
.save-button[data-v-69adcf00] {
  background-color: transparent;
  color: #666;
}
.save-button[data-v-69adcf00]:hover {
  background-color: #f5f5f5;
}
.delete-button[data-v-69adcf00] {
  background-color: transparent;
  color: #666;
}
.delete-button[data-v-69adcf00]:hover {
  background-color: #f5f5f5;
}
.toolbar-action-button[data-v-69adcf00]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.button-loader[data-v-69adcf00] {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}
.save-button .button-loader[data-v-69adcf00] {
  border: 2px solid rgba(102, 102, 102, 0.2);
  border-top-color: #666;
}
@keyframes spin-69adcf00 {
to { transform: rotate(360deg);
}
}
.mail-detail-section[data-v-69adcf00] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.mail-detail-content[data-v-69adcf00] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mail-detail-header[data-v-69adcf00] {
  padding-bottom: 16px;
  border-bottom: 1px solid #eaecef;
}
.mail-detail-subject[data-v-69adcf00] {
  font-size: 18px;
  font-weight: 500;
  color: #24292e;
  margin-bottom: 16px;
}
.mail-detail-info[data-v-69adcf00] {
  margin-bottom: 16px;
}
.mail-detail-sender[data-v-69adcf00] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.sender-avatar[data-v-69adcf00] {
  width: 40px;
  height: 40px;
  background-color: #e1f0fe;
  color: #0366d6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 16px;
  margin-right: 12px;
  flex-shrink: 0;
  text-transform: uppercase;
}
.sender-info[data-v-69adcf00] {
  display: flex;
  flex-direction: column;
}
.sender-name[data-v-69adcf00] {
  font-weight: 500;
  font-size: 15px;
  color: #24292e;
}
.sender-address[data-v-69adcf00] {
  font-size: 13px;
  color: #586069;
}
.mail-detail-recipients[data-v-69adcf00] {
  display: flex;
  font-size: 14px;
  color: #24292e;
  margin-bottom: 4px;
}
.recipient-label[data-v-69adcf00] {
  font-weight: 500;
  margin-right: 8px;
  min-width: 50px;
}
.recipient-list[data-v-69adcf00] {
  color: #586069;
}
.mail-detail-date[data-v-69adcf00] {
  font-size: 13px;
  color: #586069;
  margin-top: 8px;
}
.mail-detail-actions[data-v-69adcf00] {
  display: flex;
  gap: 8px;
  padding: 16px 0;
  border-bottom: 1px solid #eaecef;
}
.mail-action-button[data-v-69adcf00] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background-color: #f6f8fa;
  color: #24292e;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.mail-action-button[data-v-69adcf00]:hover {
  background-color: #e1e4e8;
}
.inquiry-button[data-v-69adcf00] {
  background-color: #17a2b8;
  color: #ffffff;
  border: 1px solid #17a2b8;
  font-size: 14px;
  font-family: inherit;
}
.inquiry-button[data-v-69adcf00]:hover {
  background-color: #138496;
  border-color: #138496;
}
.mail-detail-body[data-v-69adcf00] {
  flex: 1;
  overflow: auto;
  padding: 16px 0;
  font-size: 14px;
  line-height: 1.5;
  color: #24292e;
}
.mail-html-body[data-v-69adcf00] {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.mail-text-body[data-v-69adcf00] {
  white-space: pre-wrap;
}
.mail-empty-body[data-v-69adcf00] {
  color: #586069;
  font-style: italic;
  text-align: center;
  padding: 32px;
}

/* 附件区域样式 */
.attachments-container[data-v-69adcf00] {
  margin-bottom: 16px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 8px;
  background-color: #f9f9f9;
  position: relative;
  transition: all 0.3s ease;
}
.attachments-container.drag-over[data-v-69adcf00] {
  border-color: #1976d2;
  background-color: #e3f2fd;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
}
.drag-overlay[data-v-69adcf00] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(25, 118, 210, 0.1);
  border: 2px dashed #1976d2;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.drag-overlay-content[data-v-69adcf00] {
  text-align: center;
  color: #1976d2;
}
.drag-icon[data-v-69adcf00] {
  margin-bottom: 8px;
  opacity: 0.8;
}
.drag-text[data-v-69adcf00] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}
.attachments-header[data-v-69adcf00] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.attachments-title[data-v-69adcf00] {
  font-weight: 500;
  color: #555;
}
.attachments-actions[data-v-69adcf00] {
  display: flex;
  gap: 8px;
}
.attach-button[data-v-69adcf00] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  background-color: #e3f2fd;
  color: #1976d2;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.2s;
  border: solid 1px #ccc;
}
.attach-button[data-v-69adcf00]:hover {
  background-color: #bbdefb;
}
.file-input[data-v-69adcf00] {
  display: none;
}
.attachments-list[data-v-69adcf00] {
  display: flex;
  flex-direction: row;
  gap: 6px;
  max-height: 150px;
  overflow-y: auto;
  flex-wrap: wrap;
}
.attachment-item[data-v-69adcf00] {
  display: flex;
  align-items: center;
  padding: 8px;
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
  position: relative;
}
.attachment-icon[data-v-69adcf00] {
  margin-right: 8px;
  color: #607d8b;
}
.attachment-info[data-v-69adcf00] {
  flex: 1;
  overflow: hidden;
}
.attachment-name[data-v-69adcf00] {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.attachment-size[data-v-69adcf00] {
  font-size: 12px;
  color: #757575;
}
.attachment-actions[data-v-69adcf00] {
  display: flex;
  align-items: center;
}
.remove-attachment[data-v-69adcf00] {
  background: none;
  border: none;
  padding: 4px;
  color: #f44336;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.remove-attachment[data-v-69adcf00]:hover {
  background-color: #ffebee;
}
.attachment-progress[data-v-69adcf00] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e0e0e0;
}
.progress-bar[data-v-69adcf00] {
  height: 100%;
  background-color: #4caf50;
  transition: width 0.3s;
}

/* 编辑器中插入的图片样式 */
.html-editor .inserted-image[data-v-69adcf00] {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 10px 0;
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}
.html-editor .inserted-image[data-v-69adcf00]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.html-editor .inserted-image.selected[data-v-69adcf00] {
  box-shadow: 0 0 0 2px #1976d2;
}

/* 图片调整大小overlay样式 */
.image-resize-overlay[data-v-69adcf00] {
  position: fixed;
  border: 2px dashed #1976d2;
  pointer-events: none;
  z-index: 1000;
  background: rgba(25, 118, 210, 0.1);
  box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.2);
}
.resize-handle[data-v-69adcf00] {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #1976d2;
  border: 1px solid #fff;
  border-radius: 1px;
  pointer-events: auto !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  z-index: 1001;
}
.resize-handle[data-v-69adcf00]:hover {
  width: 10px;
  height: 10px;
  background: #1565c0;
  transform: translate(-1px, -1px);
}
.resize-handle[data-v-69adcf00]:active {
  background: #0d47a1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.resize-handle-nw[data-v-69adcf00] { 
  top: -5px; 
  left: -5px; 
  cursor: nw-resize;
}
.resize-handle-n[data-v-69adcf00] { 
  top: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: n-resize;
}
.resize-handle-ne[data-v-69adcf00] { 
  top: -5px; 
  right: -5px; 
  cursor: ne-resize;
}
.resize-handle-e[data-v-69adcf00] { 
  top: 50%; 
  right: -5px; 
  transform: translateY(-50%); 
  cursor: e-resize;
}
.resize-handle-se[data-v-69adcf00] { 
  bottom: -5px; 
  right: -5px; 
  cursor: se-resize;
}
.resize-handle-s[data-v-69adcf00] { 
  bottom: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: s-resize;
}
.resize-handle-sw[data-v-69adcf00] { 
  bottom: -5px; 
  left: -5px; 
  cursor: sw-resize;
}
.resize-handle-w[data-v-69adcf00] { 
  top: 50%; 
  left: -5px; 
  transform: translateY(-50%); 
  cursor: w-resize;
}

/* 拖拽时的样式 */
body.resizing[data-v-69adcf00] {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: inherit;
}

/* 上传中的提示样式 */
.uploading-indicator[data-v-69adcf00] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 12px 20px;
  border-radius: 4px;
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: 8px;
}
.uploading-spinner[data-v-69adcf00] {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}
.attachment-progress[data-v-69adcf00] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e0e0e0;
}
.progress-bar[data-v-69adcf00] {
  height: 100%;
  background-color: #4caf50;
  transition: width 0.3s;
}
.mail-attachments[data-v-69adcf00] {
  margin-top: 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px;
  background-color: #f9f9f9;
}
.mail-attachments-header h3[data-v-69adcf00] {
  margin: 0 0 10px 0;
  font-size: 14px;
  color: #555;
}
.mail-attachments-list[data-v-69adcf00] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mail-attachment-item[data-v-69adcf00] {
  display: flex;
  align-items: center;
  padding: 8px;
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
}
.mail-attachment-item .attachment-icon[data-v-69adcf00] {
  margin-right: 8px;
  color: #607d8b;
  flex-shrink: 0;
}
.mail-attachment-item .attachment-info[data-v-69adcf00] {
  flex: 1;
  overflow: hidden;
}
.mail-attachment-item .attachment-name[data-v-69adcf00] {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mail-attachment-item .attachment-size[data-v-69adcf00] {
  font-size: 12px;
  color: #757575;
}
.download-attachment[data-v-69adcf00] {
  background: none;
  border: none;
  padding: 4px;
  color: #1976d2;
  cursor: pointer;
  transition: color 0.2s;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.download-attachment[data-v-69adcf00]:hover {
  color: #1565c0;
  background-color: #e3f2fd;
}
.delete-attachment[data-v-69adcf00] {
  background: none;
  border: none;
  padding: 4px;
  color: #f44336;
  cursor: pointer;
  transition: color 0.2s;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.delete-attachment[data-v-69adcf00]:hover {
  color: #1565c0;
  background-color: #ffebee;
}
.button-loader.delete-loader[data-v-69adcf00] {
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}
.mail-attachment-item.deleting[data-v-69adcf00] {
  opacity: 0.6;
  pointer-events: none;
  background-color: #f5f5f5;
}
.delete-attachment[data-v-69adcf00]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: transparent;
}
.download-attachment[data-v-69adcf00]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: transparent;
}
.button-loader.delete-loader[data-v-69adcf00] {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(244, 67, 54, 0.2);
  border-top-color: #f44336;
  animation: spin-69adcf00 1s linear infinite;
}

/* 编辑器中插入的图片样式 */
.html-editor .inserted-image[data-v-69adcf00] {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 10px 0;
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}
.html-editor .inserted-image[data-v-69adcf00]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.html-editor .inserted-image.selected[data-v-69adcf00] {
  box-shadow: 0 0 0 2px #1976d2;
}

/* 图片调整大小overlay样式 */
.image-resize-overlay[data-v-69adcf00] {
  position: fixed;
  border: 2px dashed #1976d2;
  pointer-events: none;
  z-index: 1000;
  background: rgba(25, 118, 210, 0.1);
  box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.2);
}
.resize-handle[data-v-69adcf00] {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #1976d2;
  border: 1px solid #fff;
  border-radius: 1px;
  pointer-events: auto !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  z-index: 1001;
}
.resize-handle[data-v-69adcf00]:hover {
  width: 10px;
  height: 10px;
  background: #1565c0;
  transform: translate(-1px, -1px);
}
.resize-handle[data-v-69adcf00]:active {
  background: #0d47a1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.resize-handle-nw[data-v-69adcf00] { 
  top: -5px; 
  left: -5px; 
  cursor: nw-resize;
}
.resize-handle-n[data-v-69adcf00] { 
  top: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: n-resize;
}
.resize-handle-ne[data-v-69adcf00] { 
  top: -5px; 
  right: -5px; 
  cursor: ne-resize;
}
.resize-handle-e[data-v-69adcf00] { 
  top: 50%; 
  right: -5px; 
  transform: translateY(-50%); 
  cursor: e-resize;
}
.resize-handle-se[data-v-69adcf00] { 
  bottom: -5px; 
  right: -5px; 
  cursor: se-resize;
}
.resize-handle-s[data-v-69adcf00] { 
  bottom: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: s-resize;
}
.resize-handle-sw[data-v-69adcf00] { 
  bottom: -5px; 
  left: -5px; 
  cursor: sw-resize;
}
.resize-handle-w[data-v-69adcf00] { 
  top: 50%; 
  left: -5px; 
  transform: translateY(-50%); 
  cursor: w-resize;
}

/* 拖拽时的样式 */
body.resizing[data-v-69adcf00] {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: inherit;
}

/* 上传中的提示样式 */
.uploading-indicator[data-v-69adcf00] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 12px 20px;
  border-radius: 4px;
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: 8px;
}
.uploading-spinner[data-v-69adcf00] {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}
.attachment-progress[data-v-69adcf00] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e0e0e0;
}
.progress-bar[data-v-69adcf00] {
  height: 100%;
  background-color: #4caf50;
  transition: width 0.3s;
}
.mail-attachments[data-v-69adcf00] {
  margin-top: 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px;
  background-color: #f9f9f9;
}
.mail-attachments-header h3[data-v-69adcf00] {
  margin: 0 0 10px 0;
  font-size: 14px;
  color: #555;
}
.mail-attachments-list[data-v-69adcf00] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mail-attachment-item[data-v-69adcf00] {
  display: flex;
  align-items: center;
  padding: 8px;
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
}
.mail-attachment-item .attachment-icon[data-v-69adcf00] {
  margin-right: 8px;
  color: #607d8b;
  flex-shrink: 0;
}
.mail-attachment-item .attachment-info[data-v-69adcf00] {
  flex: 1;
  overflow: hidden;
}
.mail-attachment-item .attachment-name[data-v-69adcf00] {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mail-attachment-item .attachment-size[data-v-69adcf00] {
  font-size: 12px;
  color: #757575;
}
.download-attachment[data-v-69adcf00] {
  background: none;
  border: none;
  padding: 4px;
  color: #1976d2;
  cursor: pointer;
  transition: color 0.2s;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.download-attachment[data-v-69adcf00]:hover {
  color: #1565c0;
  background-color: #e3f2fd;
}
.delete-attachment[data-v-69adcf00] {
  background: none;
  border: none;
  padding: 4px;
  color: #f44336;
  cursor: pointer;
  transition: color 0.2s;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.delete-attachment[data-v-69adcf00]:hover {
  color: #1565c0;
  background-color: #ffebee;
}
.button-loader.delete-loader[data-v-69adcf00] {
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}
.mail-attachment-item.deleting[data-v-69adcf00] {
  opacity: 0.6;
  pointer-events: none;
  background-color: #f5f5f5;
}
.delete-attachment[data-v-69adcf00]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: transparent;
}
.download-attachment[data-v-69adcf00]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: transparent;
}
.button-loader.delete-loader[data-v-69adcf00] {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(244, 67, 54, 0.2);
  border-top-color: #f44336;
  animation: spin-69adcf00 1s linear infinite;
}

/* 编辑器中插入的图片样式 */
.html-editor .inserted-image[data-v-69adcf00] {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 10px 0;
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}
.html-editor .inserted-image[data-v-69adcf00]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.html-editor .inserted-image.selected[data-v-69adcf00] {
  box-shadow: 0 0 0 2px #1976d2;
}

/* 图片调整大小overlay样式 */
.image-resize-overlay[data-v-69adcf00] {
  position: fixed;
  border: 2px dashed #1976d2;
  pointer-events: none;
  z-index: 1000;
  background: rgba(25, 118, 210, 0.1);
  box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.2);
}
.resize-handle[data-v-69adcf00] {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #1976d2;
  border: 1px solid #fff;
  border-radius: 1px;
  pointer-events: auto !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  z-index: 1001;
}
.resize-handle[data-v-69adcf00]:hover {
  width: 10px;
  height: 10px;
  background: #1565c0;
  transform: translate(-1px, -1px);
}
.resize-handle[data-v-69adcf00]:active {
  background: #0d47a1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.resize-handle-nw[data-v-69adcf00] { 
  top: -5px; 
  left: -5px; 
  cursor: nw-resize;
}
.resize-handle-n[data-v-69adcf00] { 
  top: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: n-resize;
}
.resize-handle-ne[data-v-69adcf00] { 
  top: -5px; 
  right: -5px; 
  cursor: ne-resize;
}
.resize-handle-e[data-v-69adcf00] { 
  top: 50%; 
  right: -5px; 
  transform: translateY(-50%); 
  cursor: e-resize;
}
.resize-handle-se[data-v-69adcf00] { 
  bottom: -5px; 
  right: -5px; 
  cursor: se-resize;
}
.resize-handle-s[data-v-69adcf00] { 
  bottom: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: s-resize;
}
.resize-handle-sw[data-v-69adcf00] { 
  bottom: -5px; 
  left: -5px; 
  cursor: sw-resize;
}
.resize-handle-w[data-v-69adcf00] { 
  top: 50%; 
  left: -5px; 
  transform: translateY(-50%); 
  cursor: w-resize;
}

/* 拖拽时的样式 */
body.resizing[data-v-69adcf00] {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: inherit;
}

/* 上传中的提示样式 */
.uploading-indicator[data-v-69adcf00] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 12px 20px;
  border-radius: 4px;
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: 8px;
}
.uploading-spinner[data-v-69adcf00] {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}
.attachment-progress[data-v-69adcf00] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e0e0e0;
}
.progress-bar[data-v-69adcf00] {
  height: 100%;
  background-color: #4caf50;
  transition: width 0.3s;
}
.mail-attachments[data-v-69adcf00] {
  margin-top: 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px;
  background-color: #f9f9f9;
}
.mail-attachments-header h3[data-v-69adcf00] {
  margin: 0 0 10px 0;
  font-size: 14px;
  color: #555;
}
.mail-attachments-list[data-v-69adcf00] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mail-attachment-item[data-v-69adcf00] {
  display: flex;
  align-items: center;
  padding: 8px;
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
}
.mail-attachment-item .attachment-icon[data-v-69adcf00] {
  margin-right: 8px;
  color: #607d8b;
  flex-shrink: 0;
}
.mail-attachment-item .attachment-info[data-v-69adcf00] {
  flex: 1;
  overflow: hidden;
}
.mail-attachment-item .attachment-name[data-v-69adcf00] {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mail-attachment-item .attachment-size[data-v-69adcf00] {
  font-size: 12px;
  color: #757575;
}
.download-attachment[data-v-69adcf00] {
  background: none;
  border: none;
  padding: 4px;
  color: #1976d2;
  cursor: pointer;
  transition: color 0.2s;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.download-attachment[data-v-69adcf00]:hover {
  color: #1565c0;
  background-color: #e3f2fd;
}
.delete-attachment[data-v-69adcf00] {
  background: none;
  border: none;
  padding: 4px;
  color: #f44336;
  cursor: pointer;
  transition: color 0.2s;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.delete-attachment[data-v-69adcf00]:hover {
  color: #1565c0;
  background-color: #ffebee;
}
.button-loader.delete-loader[data-v-69adcf00] {
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}
.mail-attachment-item.deleting[data-v-69adcf00] {
  opacity: 0.6;
  pointer-events: none;
  background-color: #f5f5f5;
}
.delete-attachment[data-v-69adcf00]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: transparent;
}
.download-attachment[data-v-69adcf00]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: transparent;
}
.button-loader.delete-loader[data-v-69adcf00] {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(244, 67, 54, 0.2);
  border-top-color: #f44336;
  animation: spin-69adcf00 1s linear infinite;
}

/* 编辑器中插入的图片样式 */
.html-editor .inserted-image[data-v-69adcf00] {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 10px 0;
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}
.html-editor .inserted-image[data-v-69adcf00]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.html-editor .inserted-image.selected[data-v-69adcf00] {
  box-shadow: 0 0 0 2px #1976d2;
}

/* 图片调整大小overlay样式 */
.image-resize-overlay[data-v-69adcf00] {
  position: fixed;
  border: 2px dashed #1976d2;
  pointer-events: none;
  z-index: 1000;
  background: rgba(25, 118, 210, 0.1);
  box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.2);
}
.resize-handle[data-v-69adcf00] {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #1976d2;
  border: 1px solid #fff;
  border-radius: 1px;
  pointer-events: auto !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  z-index: 1001;
}
.resize-handle[data-v-69adcf00]:hover {
  width: 10px;
  height: 10px;
  background: #1565c0;
  transform: translate(-1px, -1px);
}
.resize-handle[data-v-69adcf00]:active {
  background: #0d47a1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.resize-handle-nw[data-v-69adcf00] { 
  top: -5px; 
  left: -5px; 
  cursor: nw-resize;
}
.resize-handle-n[data-v-69adcf00] { 
  top: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: n-resize;
}
.resize-handle-ne[data-v-69adcf00] { 
  top: -5px; 
  right: -5px; 
  cursor: ne-resize;
}
.resize-handle-e[data-v-69adcf00] { 
  top: 50%; 
  right: -5px; 
  transform: translateY(-50%); 
  cursor: e-resize;
}
.resize-handle-se[data-v-69adcf00] { 
  bottom: -5px; 
  right: -5px; 
  cursor: se-resize;
}
.resize-handle-s[data-v-69adcf00] { 
  bottom: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: s-resize;
}
.resize-handle-sw[data-v-69adcf00] { 
  bottom: -5px; 
  left: -5px; 
  cursor: sw-resize;
}
.resize-handle-w[data-v-69adcf00] { 
  top: 50%; 
  left: -5px; 
  transform: translateY(-50%); 
  cursor: w-resize;
}

/* 拖拽时的样式 */
body.resizing[data-v-69adcf00] {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: inherit;
}

/* 上传中的提示样式 */
.uploading-indicator[data-v-69adcf00] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 12px 20px;
  border-radius: 4px;
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: 8px;
}
.uploading-spinner[data-v-69adcf00] {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}
.attachment-progress[data-v-69adcf00] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e0e0e0;
}
.progress-bar[data-v-69adcf00] {
  height: 100%;
  background-color: #4caf50;
  transition: width 0.3s;
}
.mail-attachments[data-v-69adcf00] {
  margin-top: 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px;
  background-color: #f9f9f9;
}
.mail-attachments-header h3[data-v-69adcf00] {
  margin: 0 0 10px 0;
  font-size: 14px;
  color: #555;
}
.mail-attachments-list[data-v-69adcf00] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mail-attachment-item[data-v-69adcf00] {
  display: flex;
  align-items: center;
  padding: 8px;
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
}
.mail-attachment-item .attachment-icon[data-v-69adcf00] {
  margin-right: 8px;
  color: #607d8b;
  flex-shrink: 0;
}
.mail-attachment-item .attachment-info[data-v-69adcf00] {
  flex: 1;
  overflow: hidden;
}
.mail-attachment-item .attachment-name[data-v-69adcf00] {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mail-attachment-item .attachment-size[data-v-69adcf00] {
  font-size: 12px;
  color: #757575;
}
.download-attachment[data-v-69adcf00] {
  background: none;
  border: none;
  padding: 4px;
  color: #1976d2;
  cursor: pointer;
  transition: color 0.2s;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.download-attachment[data-v-69adcf00]:hover {
  color: #1565c0;
  background-color: #e3f2fd;
}
.delete-attachment[data-v-69adcf00] {
  background: none;
  border: none;
  padding: 4px;
  color: #f44336;
  cursor: pointer;
  transition: color 0.2s;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.delete-attachment[data-v-69adcf00]:hover {
  color: #1565c0;
  background-color: #ffebee;
}
.button-loader.delete-loader[data-v-69adcf00] {
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}
.mail-attachment-item.deleting[data-v-69adcf00] {
  opacity: 0.6;
  pointer-events: none;
  background-color: #f5f5f5;
}
.delete-attachment[data-v-69adcf00]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: transparent;
}
.download-attachment[data-v-69adcf00]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: transparent;
}
.button-loader.delete-loader[data-v-69adcf00] {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(244, 67, 54, 0.2);
  border-top-color: #f44336;
  animation: spin-69adcf00 1s linear infinite;
}

/* 编辑器中插入的图片样式 */
.html-editor .inserted-image[data-v-69adcf00] {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 10px 0;
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}
.html-editor .inserted-image[data-v-69adcf00]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.html-editor .inserted-image.selected[data-v-69adcf00] {
  box-shadow: 0 0 0 2px #1976d2;
}

/* 图片调整大小overlay样式 */
.image-resize-overlay[data-v-69adcf00] {
  position: fixed;
  border: 2px dashed #1976d2;
  pointer-events: none;
  z-index: 1000;
  background: rgba(25, 118, 210, 0.1);
  box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.2);
}
.resize-handle[data-v-69adcf00] {
  position: absolute;
  width: 8px;
  height: 8px;
  background: #1976d2;
  border: 1px solid #fff;
  border-radius: 1px;
  pointer-events: auto !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  z-index: 1001;
}
.resize-handle[data-v-69adcf00]:hover {
  width: 10px;
  height: 10px;
  background: #1565c0;
  transform: translate(-1px, -1px);
}
.resize-handle[data-v-69adcf00]:active {
  background: #0d47a1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.resize-handle-nw[data-v-69adcf00] { 
  top: -5px; 
  left: -5px; 
  cursor: nw-resize;
}
.resize-handle-n[data-v-69adcf00] { 
  top: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: n-resize;
}
.resize-handle-ne[data-v-69adcf00] { 
  top: -5px; 
  right: -5px; 
  cursor: ne-resize;
}
.resize-handle-e[data-v-69adcf00] { 
  top: 50%; 
  right: -5px; 
  transform: translateY(-50%); 
  cursor: e-resize;
}
.resize-handle-se[data-v-69adcf00] { 
  bottom: -5px; 
  right: -5px; 
  cursor: se-resize;
}
.resize-handle-s[data-v-69adcf00] { 
  bottom: -5px; 
  left: 50%; 
  transform: translateX(-50%); 
  cursor: s-resize;
}
.resize-handle-sw[data-v-69adcf00] { 
  bottom: -5px; 
  left: -5px; 
  cursor: sw-resize;
}
.resize-handle-w[data-v-69adcf00] { 
  top: 50%; 
  left: -5px; 
  transform: translateY(-50%); 
  cursor: w-resize;
}

/* 拖拽时的样式 */
body.resizing[data-v-69adcf00] {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: inherit;
}

/* 上传中的提示样式 */
.uploading-indicator[data-v-69adcf00] {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 12px 20px;
  border-radius: 4px;
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: 8px;
}
.uploading-spinner[data-v-69adcf00] {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin-69adcf00 1s linear infinite;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/EmailChat.vue?vue&type=style&index=0&id=0af8fbe1&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.email-chat-container[data-v-0af8fbe1] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.component-header[data-v-0af8fbe1] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.2s;
}
.component-header[data-v-0af8fbe1]:hover {
  background-color: #f8f9fa;
}
.section-title[data-v-0af8fbe1] {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title .title-icon[data-v-0af8fbe1] {
  color: #333 !important;
  flex-shrink: 0;
}
.header-right[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.email-history-navigation[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.history-nav-button[data-v-0af8fbe1] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f5f5f5;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}
.history-nav-button[data-v-0af8fbe1]:hover:not(:disabled) {
  background-color: #e0e0e0;
}
.history-nav-button[data-v-0af8fbe1]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.history-info[data-v-0af8fbe1] {
  font-size: 12px;
  color: #666;
}
.component-content[data-v-0af8fbe1] {
  flex: 1;
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease;
}
.component-content.collapsed[data-v-0af8fbe1] {
  visibility: hidden !important;
  overflow: hidden;
  padding: 0;
}
.collapse-icon[data-v-0af8fbe1] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: transform 0.3s ease;
}
.collapse-icon.collapsed[data-v-0af8fbe1] {
  transform: rotate(-90deg);
}
.chat-messages[data-v-0af8fbe1] {
  height: calc(100% - 32px);
  overflow-y: auto;
  padding: 16px;
}
.chat-footer[data-v-0af8fbe1] {
  padding: 16px;
  border-top: 1px solid #eee;
  background-color: #fff;
}

/* 进度状态框样式 */
.progress-status-box[data-v-0af8fbe1] {
  margin: 16px 0;
  padding: 12px 16px;
  border-radius: 8px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  text-align: center;
  transition: all 0.3s ease;
}
.progress-status-box.info[data-v-0af8fbe1] {
  background-color: #e3f2fd;
  border-color: #bbdefb;
  color: #1976d2;
}
.progress-status-box.success[data-v-0af8fbe1] {
  background-color: #e8f5e8;
  border-color: #c8e6c9;
  color: #2e7d32;
}
.progress-status-box.error[data-v-0af8fbe1] {
  background-color: #ffebee;
  border-color: #ffcdd2;
  color: #c62828;
}
.progress-content[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.progress-icon[data-v-0af8fbe1] {
  font-size: 16px;
}
.progress-message[data-v-0af8fbe1] {
  font-size: 14px;
  font-weight: 500;
}
.message[data-v-0af8fbe1] {
  display: flex;
  margin-bottom: 8px;
  align-items: flex-start;
}
.message.user[data-v-0af8fbe1] {
  flex-direction: row;
}
.message.assistant[data-v-0af8fbe1] {
  justify-content: center;
}
.system-message[data-v-0af8fbe1] {
  margin-bottom: 24px;
  text-align: center;
}
.system-message .message-content[data-v-0af8fbe1] {
  background-color: #f0f8ff;
  border: 1px solid #d1e6fa;
  color: #444;
  font-size: 14px;
  padding: 12px 16px;
  border-radius: 8px;
  display: inline-block;
  text-align: left;
  max-width: 90%;
  margin: 0 auto;
}
.message.system[data-v-0af8fbe1] {
  color: #444;
  font-size: 14px;
  border-radius: 8px;
  display: inline-block;
  text-align: left;
  max-width: 90%;
}
.system-content[data-v-0af8fbe1] {
  /* background-color: #f0f8ff; */
  /* border: 1px solid #d1e6fa; */
  color: #444;
  font-size: 13px;
  /* padding: 12px 16px; */
  /* border-radius: 8px; */
  display: inline-block;
  text-align: left;
  max-width: 90%;
  font-weight: bold;
}

/* 系统消息加载动画 */
.system-content.loading[data-v-0af8fbe1]::after {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  background-color: #666;
  border-radius: 50%;
  margin-left: 4px;
  animation: loading-dots-0af8fbe1 1.5s infinite;
}
@keyframes loading-dots-0af8fbe1 {
0%, 20% {
    box-shadow: 0 0 0 #666, 8px 0 0 #666, 16px 0 0 #666;
}
40% {
    box-shadow: 0 0 0 #666, 8px 0 0 #666, 16px 0 0 transparent;
}
60% {
    box-shadow: 0 0 0 #666, 8px 0 0 transparent, 16px 0 0 transparent;
}
80%, 100% {
    box-shadow: 0 0 0 transparent, 8px 0 0 transparent, 16px 0 0 transparent;
}
}
.system-message ul[data-v-0af8fbe1] {
  margin: 8px 0;
  padding-left: 20px;
}
.system-message li[data-v-0af8fbe1] {
  margin-bottom: 4px;
}
.message-avatar[data-v-0af8fbe1] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 500;
  flex-shrink: 0;
}
.message.user .message-avatar[data-v-0af8fbe1] {
  background-color: #e3f2fd;
  color: #1565c0;
  margin-right: 8px;
}
.message.assistant .message-avatar[data-v-0af8fbe1] {
  background-color: #e8f5e9;
  color: #2e7d32;
  margin-left: 8px;
}
.message-content[data-v-0af8fbe1] {
  padding: 12px 16px;
  border-radius: 8px;
  width: 90%;
  position: relative;
  border: solid 1px #eee;
}
.message.user .message-content[data-v-0af8fbe1] {
  background-color: #22c55e;
  color: white;
}
.message.assistant .message-content[data-v-0af8fbe1] {
  background-color: #f8f8f8;
}
.message-content p[data-v-0af8fbe1] {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}
.loading-message[data-v-0af8fbe1] {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}
.loading-message .message-content[data-v-0af8fbe1] {
  background-color: #f5f5f5;
  padding: 12px 16px;
  border-radius: 8px;
}
.typing-indicator[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.typing-indicator span[data-v-0af8fbe1] {
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #aaa;
  border-radius: 50%;
  animation: typing-0af8fbe1 1.4s infinite both;
}
.typing-indicator span[data-v-0af8fbe1]:nth-child(2) {
  animation-delay: 0.2s;
}
.typing-indicator span[data-v-0af8fbe1]:nth-child(3) {
  animation-delay: 0.4s;
}
@keyframes typing-0af8fbe1 {
0% { transform: scale(0.6); opacity: 0.6;
}
50% { transform: scale(1); opacity: 1;
}
100% { transform: scale(0.6); opacity: 0.6;
}
}
.quick-actions[data-v-0af8fbe1] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.drag-overlay[data-v-0af8fbe1] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(25, 118, 210, 0.1);
  border: 2px dashed #1976d2;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.drag-overlay-content[data-v-0af8fbe1] {
  text-align: center;
  color: #1976d2;
}
.drag-icon[data-v-0af8fbe1] {
  margin-bottom: 8px;
  opacity: 0.8;
}
.drag-text[data-v-0af8fbe1] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}
.quick-action-button[data-v-0af8fbe1] {
  background-color: #f5f5f5;
  border: 1px solid #eee;
  border-radius: 16px;
  padding: 6px 12px;
  font-size: 12px;
  color: #333;
  cursor: pointer;
  transition: all 0.2s;
}
.quick-action-button[data-v-0af8fbe1]:hover {
  background-color: #e0e0e0;
}
.input-area[data-v-0af8fbe1] {
  display: flex;
  flex-direction: column;
  border: none;
  border-radius: 8px;
  overflow: hidden;
  padding: 4px;
  border: 1px solid #ddd;
  position: relative;
  transition: all 0.3s ease;
}
.input-area.drag-over[data-v-0af8fbe1] {
  background-color: #e3f2fd;
  border: 2px dashed #1976d2;
  border-radius: 8px;
}
.input-area textarea[data-v-0af8fbe1] {
  flex: 1;
  padding: 12px 52px 12px 12px; /* 给右侧按钮留出空间 */
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
  line-height: 1.5;
  resize: none;
  transition: border-color 0.2s;
}
.input-area textarea[data-v-0af8fbe1]:focus {
  outline: none;
}
.button-group[data-v-0af8fbe1] {
  position: absolute;
  bottom: 8px;
  right: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.inquiry-button[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  gap: 4px;
  background-color: #00b165;
  color: white;
  border: none;
  border-radius: 16px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
  font-size: 11px;
  padding: 4px 8px;
  font-weight: bold;
}
.inquiry-button[data-v-0af8fbe1]:hover:not(:disabled) {
  background-color: #f57c00;
  transform: scale(1.05);
}
.inquiry-button[data-v-0af8fbe1]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.send-button[data-v-0af8fbe1], .stop-button[data-v-0af8fbe1] {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s;
  padding: 2px;
}
.send-button[data-v-0af8fbe1] {
  background-color: #1976d2;
  color: white;
}
.send-button[data-v-0af8fbe1]:hover:not(:disabled) {
  background-color: #1565c0;
  transform: scale(1.05);
}
.send-button[data-v-0af8fbe1]:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}
.stop-button[data-v-0af8fbe1] {
  background-color: #f44336;
  color: white;
}
.stop-button[data-v-0af8fbe1]:hover {
  background-color: #d32f2f;
  transform: scale(1.05);
}
.message.system[data-v-0af8fbe1] {
  display: flex;
  justify-content: start;
}

/* 邮件预览样式 */
.email-preview[data-v-0af8fbe1] {
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  margin: 8px 0;
}
.email-preview-header[data-v-0af8fbe1] {
  background-color: #f8f9fa;
  padding: 8px 12px;
  font-size: 12px;
  color: #666;
  border-bottom: 1px solid #e0e0e0;
}
.email-preview-subject[data-v-0af8fbe1] {
  padding: 12px 12px 8px;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 500;
}
.email-preview-content[data-v-0af8fbe1] {
  padding: 12px;
  line-height: 1.5;
  font-size: 12px;
  max-height: 300px;
  overflow-y: auto;
}

/* Markdown样式增强 */
.email-preview-content h1[data-v-0af8fbe1],
.email-preview-content h2[data-v-0af8fbe1],
.email-preview-content h3[data-v-0af8fbe1] {
  margin-top: 16px;
  margin-bottom: 8px;
}
.email-preview-content p[data-v-0af8fbe1] {
  margin-bottom: 12px;
}
.email-preview-content ul[data-v-0af8fbe1],
.email-preview-content ol[data-v-0af8fbe1] {
  margin-left: 20px;
  margin-bottom: 12px;
}
.email-preview-content blockquote[data-v-0af8fbe1] {
  border-left: 4px solid #ddd;
  padding-left: 12px;
  color: #666;
  margin: 12px 0;
}

/* 文件管理区域样式 */
.file-management[data-v-0af8fbe1] {
  padding: 12px 0 8px 0;
  border-bottom: 1px solid #eee;
  margin-bottom: 8px;
  background-color: #fff;
  padding-top: 4px;
}
.file-section-title[data-v-0af8fbe1] {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  margin-bottom: 8px;
  padding: 0 4px;
}
.file-list[data-v-0af8fbe1] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.file-item[data-v-0af8fbe1] {
  min-width: 48px;
  max-width: 96px;
  height: 24px;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  background-color: #fff;
  position: relative;
  transition: all 0.2s;
  background-color: #f5f5f5;
}
.file-item[data-v-0af8fbe1]:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* 文件来源标识 */
.file-item.file-source-uploaded[data-v-0af8fbe1] {
  border-left: 3px solid #f54f00; /* 橙色左边框 */
}
.file-item.file-source-user_documents[data-v-0af8fbe1] {
  border-left: 3px solid #009b05; /* 绿色左边框 */
}
.file-item.file-source-email_attachment[data-v-0af8fbe1] {
  border-left: 3px solid #007fe7; /* 蓝色左边框 */
}
.file-item.file-source-reference[data-v-0af8fbe1] {
  border-left: 3px solid #9c27b0; /* 紫色左边框 */
}

/* 引用特殊样式 */
.file-item.is-reference[data-v-0af8fbe1] {
  cursor: pointer;
  background-color: #f3e5f5; /* 浅紫色背景 */
}
.file-item.is-reference[data-v-0af8fbe1]:hover {
  background-color: #e1bee7; /* 深一点的紫色背景 */
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(156, 39, 176, 0.2);
}
.reference-icon[data-v-0af8fbe1] {
  color: #9c27b0; /* 紫色图标 */
}
.file-preview[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: center;
  
  overflow: hidden;
  position: relative;
  height: 100%;
  width: 24px;
  flex-shrink: 0;
}
.file-thumbnail[data-v-0af8fbe1] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.file-icon[data-v-0af8fbe1] {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #757575;
}
.file-loading[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.file-loading-spinner[data-v-0af8fbe1] {
  width: 24px;
  height: 24px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #3498db;
  border-radius: 50%;
  animation: file-spin-0af8fbe1 1s linear infinite;
}
@keyframes file-spin-0af8fbe1 {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.file-info[data-v-0af8fbe1] {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-right:8px;
}
.file-name[data-v-0af8fbe1] {
  font-size: 11px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 80px;
}
.file-size[data-v-0af8fbe1] {
  font-size: 10px;
  color: #757575;
}
.file-action[data-v-0af8fbe1] {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: rgba(0,0,0,0.5);
  color: white;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.2s;
  padding: 2px;
}
.file-item:hover .file-action[data-v-0af8fbe1] {
  opacity: 1;
}
.file-action.delete[data-v-0af8fbe1] {
  top: 4px;
  right: 4px;
}
.file-action.delete[data-v-0af8fbe1]:hover {
  background-color: rgba(244, 67, 54, 0.8);
}
.file-action.insert[data-v-0af8fbe1] {
  bottom: 4px;
  right: 4px;
}
.file-action.insert[data-v-0af8fbe1]:hover {
  background-color: rgba(33, 150, 243, 0.8);
}
.upload-button[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 消息中的图片样式 */
[data-v-0af8fbe1] .message-image {
  max-width: 100%;
  max-height: 200px;
  border-radius: 4px;
  margin: 4px 0;
  border: 1px solid #eee;
}

/* 消息中的文件链接样式 */
[data-v-0af8fbe1] .message-file-link {
  display: inline-flex;
  align-items: center;
  background-color: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 4px 8px;
  margin: 4px 0;
  color: #1976d2;
  text-decoration: none;
  font-size: 13px;
}
[data-v-0af8fbe1] .message-file-link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 6px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm4 18H6V4h7v5h5v11z%27 fill=%27%231976d2%27/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
[data-v-0af8fbe1] .message-file-link:hover {
  background-color: #e3f2fd;
}
.file-item.is-image[data-v-0af8fbe1] {
  flex-direction: column;
}
.file-item.is-image .file-preview[data-v-0af8fbe1] {
  height: 100%;
  width: 100%;
}

/* 图片预览样式 */
.file-image-preview[data-v-0af8fbe1] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 4px;
}
.file-image-preview img[data-v-0af8fbe1] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  transition: transform 0.2s ease;
}
.file-image-preview img[data-v-0af8fbe1]:hover {
  transform: scale(1.05);
}

/* 图片文件项的特殊样式 */
.file-item.is-image[data-v-0af8fbe1] {
  min-width: 80px;
  max-width: 120px;
  max-height: 24px;
  flex-direction: column;
}
.file-item.is-image .file-info[data-v-0af8fbe1] {
  margin-top: 4px;
  text-align: center;
}
.file-item.is-image .file-name[data-v-0af8fbe1] {
  font-size: 10px;
  line-height: 1.2;
  max-height: 24px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
.scene-prediction-widget[data-v-0af8fbe1] {
  margin: 12px 0;
}
.analyzing-state[data-v-0af8fbe1] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  padding: 12px 16px;
  animation: pulse-bg-0af8fbe1 2s ease-in-out infinite;
}
@keyframes pulse-bg-0af8fbe1 {
0%, 100% {
    background-color: #f8f9fa;
}
50% {
    background-color: #e9ecef;
}
}
.analyze-header[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  color: #495057;
}
.analyze-left[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
}
.analyze-icon[data-v-0af8fbe1] {
  margin-right: 8px;
  color: #6c757d;
  animation: rotate-0af8fbe1 2s linear infinite;
}
@keyframes rotate-0af8fbe1 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.confidence-badge[data-v-0af8fbe1] {
  font-size: 12px;
  color: #6c757d;
  background: #e9ecef;
  padding: 2px 8px;
  border-radius: 12px;
}
.analysis-result[data-v-0af8fbe1] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  padding: 12px 16px;
}
.result-header[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  color: #495057;
  margin-bottom: 12px;
}
.result-icon[data-v-0af8fbe1] {
  margin-right: 8px;
  color: #28a745;
}
.result-content[data-v-0af8fbe1] {
  font-size: 13px;
}
.scene-result[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.scene-label[data-v-0af8fbe1] {
  font-weight: 600;
  color: #495057;
  margin-right: 8px;
}
.scene-value[data-v-0af8fbe1] {
  font-weight: 500;
  color: #212529;
}
.analysis-text[data-v-0af8fbe1] {
  color: #6c757d;
  line-height: 1.4;
  margin-bottom: 12px;
  font-size: 12px;
}
.parameters-row[data-v-0af8fbe1] {
  display: flex;
  gap: 16px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.param-item[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  font-size: 12px;
}
.param-label[data-v-0af8fbe1] {
  font-weight: 600;
  color: #6c757d;
  margin-right: 4px;
}
.param-value[data-v-0af8fbe1] {
  color: #495057;
}
.auto-applied-notice[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  font-size: 11px;
  color: #28a745;
  background: #d4edda;
  padding: 4px 8px;
  border-radius: 4px;
}
.auto-applied-notice svg[data-v-0af8fbe1] {
  margin-right: 4px;
}
.loading-dots[data-v-0af8fbe1] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-right: 4px;
}
.loading-dots span[data-v-0af8fbe1] {
  display: inline-block;
  width: 3px;
  height: 3px;
  background-color: #6c757d;
  border-radius: 50%;
  animation: loading-bounce-0af8fbe1 1.4s ease-in-out infinite both;
}
.loading-dots span[data-v-0af8fbe1]:nth-child(1) {
  animation-delay: -0.32s;
}
.loading-dots span[data-v-0af8fbe1]:nth-child(2) {
  animation-delay: -0.16s;
}
.loading-dots span[data-v-0af8fbe1]:nth-child(3) {
  animation-delay: 0s;
}
@keyframes loading-bounce-0af8fbe1 {
0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
}
40% {
    transform: scale(1.2);
    opacity: 1;
}
}
@keyframes blink-0af8fbe1 {
0%, 100% { opacity: 1;
}
50% { opacity: 0;
}
}
.confidence-badge.loading[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  font-size: 12px;
  color: #6c757d;
  background: #e9ecef;
  padding: 4px 8px;
  border-radius: 12px;
}

/* 场景预测组件样式 */
.scene-prediction-widget[data-v-0af8fbe1] {
  background: #f8f9fa;
  margin: 8px 0;
  max-width: 100%;
  width: 100%;
}

/* 素材分析组件样式 */
.material-analysis-widget[data-v-0af8fbe1] {
  background: #f0f8ff;
  margin: 8px 0;
  max-width: 100%;
  width: 100%;
}
.analyzing-state[data-v-0af8fbe1] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.analyze-header[data-v-0af8fbe1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.analyze-left[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #333;
}
.analyze-icon[data-v-0af8fbe1] {
  color: #1976d2;
}
.result-header[data-v-0af8fbe1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.result-icon[data-v-0af8fbe1] {
  color: #4caf50;
}
.confidence-badge[data-v-0af8fbe1] {
  background: #4caf50;
  color: white;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}
.result-content[data-v-0af8fbe1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.scene-result[data-v-0af8fbe1],
.material-summary[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}
.scene-label[data-v-0af8fbe1],
.summary-label[data-v-0af8fbe1] {
  font-weight: 600;
  color: #666;
}
.scene-value[data-v-0af8fbe1],
.summary-value[data-v-0af8fbe1] {
  color: #333;
  font-weight: 500;
}
.analysis-text[data-v-0af8fbe1] {
  color: #555;
  font-size: 13px;
  line-height: 1.4;
  margin: 8px 0;
}
.parameters-row[data-v-0af8fbe1] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}
.param-item[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
}
.param-label[data-v-0af8fbe1] {
  color: #666;
  font-weight: 500;
}
.param-value[data-v-0af8fbe1] {
  color: #333;
}
.material-categories[data-v-0af8fbe1] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.category-item[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  background: #e3f2fd;
  padding: 4px 8px;
  border-radius: 12px;
}
.category-label[data-v-0af8fbe1] {
  color: #1976d2;
  font-weight: 500;
}
.category-value[data-v-0af8fbe1] {
  color: #333;
  font-weight: 600;
}
.recommendations[data-v-0af8fbe1] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e0e0e0;
}
.recommendation-item[data-v-0af8fbe1] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 13px;
  line-height: 1.4;
}
.rec-number[data-v-0af8fbe1] {
  color: #1976d2;
  font-weight: 600;
  flex-shrink: 0;
  margin-top: 1px;
}
.rec-text[data-v-0af8fbe1] {
  color: #555;
}

/* 推荐素材列表样式 */
.recommended-materials[data-v-0af8fbe1] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e0e0e0;
}
.recommended-materials-title[data-v-0af8fbe1] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
  margin-bottom: 8px;
}
.recommended-materials-list[data-v-0af8fbe1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.recommended-material-item[data-v-0af8fbe1] {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.material-score[data-v-0af8fbe1] {
  font-size: 12px;
  font-weight: 600;
  color: #1976d2;
  background: #e3f2fd;
  padding: 2px 6px;
  border-radius: 4px;
  align-self: flex-start;
}
.material-title[data-v-0af8fbe1] {
  font-size: 13px;
  font-weight: 500;
  color: #333;
  line-height: 1.3;
}
.material-reason[data-v-0af8fbe1] {
  font-size: 12px;
  color: #666;
  line-height: 1.3;
  font-style: italic;
}

/* 询价特征提取、报价特征提取和高分邮件样例分析样式 */
.inquiry-features-widget[data-v-0af8fbe1],
.quotation-features-widget[data-v-0af8fbe1],
.high-score-emails-widget[data-v-0af8fbe1] {
  background: #f8f9fa;
  border-radius: 8px;
  margin: 12px 0;
  width: 100%;
}
.inquiry-features-header[data-v-0af8fbe1],
.high-score-emails-header[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.inquiry-features-title[data-v-0af8fbe1],
.high-score-emails-title[data-v-0af8fbe1] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.inquiry-features-icon[data-v-0af8fbe1],
.high-score-emails-icon[data-v-0af8fbe1] {
  color: #1976d2;
}
.inquiry-features-content[data-v-0af8fbe1],
.quotation-features-content[data-v-0af8fbe1],
.high-score-emails-content[data-v-0af8fbe1] {
  font-size: 13px;
  line-height: 1.5;
  color: #555;
}
.feature-item[data-v-0af8fbe1] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 6px;
  padding: 4px 0;
}
.feature-label[data-v-0af8fbe1] {
  font-weight: 500;
  color: #1976d2;
  width: 30%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: 12px;
}
.feature-value[data-v-0af8fbe1] {
  color: #333;
  background: #e3f2fd;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
  width: 70%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.email-sample-item[data-v-0af8fbe1] {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 12px;
  margin-bottom: 8px;
}
.email-sample-header[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.email-sample-title[data-v-0af8fbe1] {
  font-weight: 600;
  color: #333;
  font-size: 13px;
}
.email-sample-score[data-v-0af8fbe1] {
  font-size: 12px;
  font-weight: 600;
  color: #4caf50;
  background: #e8f5e8;
  padding: 2px 6px;
  border-radius: 4px;
}
.email-sample-content[data-v-0af8fbe1] {
  font-size: 12px;
  color: #666;
  line-height: 1.4;
  max-height: 64px;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  position: relative;
}
.email-sample-content[data-v-0af8fbe1]:hover {
  background: #f5f5f5;
}
.email-sample-content[data-v-0af8fbe1]:hover::after {
  content: attr(data-full-content);
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #333;
  color: white;
  padding: 8px;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.4;
  max-height: none;
  overflow: visible;
  text-overflow: initial;
  white-space: pre-wrap;
  word-wrap: break-word;
  z-index: 1000;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

/* 原文邮件展示样式 */
.original-email-widget[data-v-0af8fbe1] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  margin: 12px 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.original-email-header[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e9ecef;
  background: #fff;
  border-radius: 8px 8px 0 0;
}
.original-email-left[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.original-email-icon[data-v-0af8fbe1] {
  color: #1976d2;
}
.original-email-left span[data-v-0af8fbe1] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
}
.toggle-button[data-v-0af8fbe1] {
  background: transparent;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.toggle-button[data-v-0af8fbe1]:hover {
  background: #e9ecef;
}
.original-email-content[data-v-0af8fbe1] {
  padding: 16px;
  background: #fff;
  border-radius: 0 0 8px 8px;
}
.email-meta[data-v-0af8fbe1] {
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e9ecef;
}
.meta-item[data-v-0af8fbe1] {
  display: flex;
  align-items: flex-start;
  margin-bottom: 8px;
  font-size: 13px;
}
.meta-item[data-v-0af8fbe1]:last-child {
  margin-bottom: 0;
}
.meta-label[data-v-0af8fbe1] {
  font-weight: 600;
  color: #666;
  width: 60px;
  flex-shrink: 0;
}
.meta-value[data-v-0af8fbe1] {
  color: #333;
  flex: 1;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.email-body[data-v-0af8fbe1] {
  border-radius: 4px;
}
.email-body-content[data-v-0af8fbe1] {
  font-size: 13px;
  line-height: 1.6;
  color: #444;
  background: #fff;
  padding: 16px;
  border-radius: 4px;
  border: 1px solid #e9ecef;
  max-height: 400px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* 文件管理区域样式 */
.file-section[data-v-0af8fbe1] {
  margin-bottom: 16px;
}
.file-section-title[data-v-0af8fbe1] {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  margin-bottom: 8px;
  padding: 4px 0;
  border-bottom: 1px solid #f0f0f0;
}
.document-item[data-v-0af8fbe1] {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
}
.document-item .file-icon[data-v-0af8fbe1] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.file-source[data-v-0af8fbe1] {
  font-size: 10px;
  color: #666;
  margin-top: 2px;
}
.file-action.remove[data-v-0af8fbe1] {
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  right: 4px;
  top: 4px;
}
.file-action.remove[data-v-0af8fbe1]:hover {
  background-color: #f44336;
}

/* 邮件附件样式 */
.email-attachment-item[data-v-0af8fbe1] {
  background-color: #f0f8ff;
  border: 1px solid #e3f2fd;
}
.email-attachment-item .file-icon[data-v-0af8fbe1] {
  background-color: #e8f4fd;
  color: #2196f3;
}
.email-attachment-item .file-source[data-v-0af8fbe1] {
  color: #1976d2;
  font-weight: 500;
}
.email-attachment-item .file-size[data-v-0af8fbe1] {
  font-size: 10px;
  color: #666;
  margin-top: 2px;
}

/* 报价特征提取特有样式 */
.quotation-features-widget .analyzing-state[data-v-0af8fbe1] {
  padding: 16px;
}
.quotation-features-widget .analyze-header[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.quotation-features-widget .analyze-left[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #333;
  font-size: 14px;
}
.quotation-features-widget .analyze-icon[data-v-0af8fbe1] {
  color: #1976d2;
}
.quotation-features-widget .confidence-badge[data-v-0af8fbe1] {
  font-size: 12px;
  font-weight: 600;
  color: #4caf50;
  background: #e8f5e8;
  padding: 4px 8px;
  border-radius: 4px;
}
.quotation-features-widget .confidence-badge.loading[data-v-0af8fbe1] {
  background: #fff3e0;
  color: #ff9800;
}
.quotation-features-widget .loading-dots[data-v-0af8fbe1] {
  display: inline-flex;
  gap: 2px;
}
.quotation-features-widget .loading-dots span[data-v-0af8fbe1] {
  width: 4px;
  height: 4px;
  background: #ff9800;
  border-radius: 50%;
  animation: loading-dots-0af8fbe1 1.4s infinite ease-in-out;
}
.quotation-features-widget .loading-dots span[data-v-0af8fbe1]:nth-child(1) {
  animation-delay: -0.32s;
}
.quotation-features-widget .loading-dots span[data-v-0af8fbe1]:nth-child(2) {
  animation-delay: -0.16s;
}
@keyframes loading-dots-0af8fbe1 {
0%, 80%, 100% {
    transform: scale(0);
}
40% {
    transform: scale(1);
}
}
.quotation-features-widget .analysis-result[data-v-0af8fbe1] {
  padding: 16px;
}
.quotation-features-widget .result-header[data-v-0af8fbe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.quotation-features-widget .result-header span[data-v-0af8fbe1] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.quotation-features-widget .result-icon[data-v-0af8fbe1] {
  color: #4caf50;
}
.quotation-features-widget .result-content[data-v-0af8fbe1] {
  font-size: 13px;
  line-height: 1.5;
  color: #555;
}


/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/UserDocuments.vue?vue&type=style&index=0&id=2f749afa&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.user-documents-container[data-v-2f749afa] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.user-documents-header[data-v-2f749afa] {
  flex-shrink: 0;
  border-bottom: 1px solid #e5e7eb;
  background-color: #f9fafb;
}
.user-documents-content[data-v-2f749afa] {
  flex: 1;
  overflow-y: auto;
  /* 自定义滚动条样式 */
  scrollbar-width: thin;
  scrollbar-color: #d1d5db #f3f4f6;
  position: relative;
  transition: all 0.3s ease;
}
.user-documents-content.drag-over[data-v-2f749afa] {
  background-color: #e3f2fd;
  border: 2px dashed #1976d2;
  border-radius: 8px;
}
.drag-overlay[data-v-2f749afa] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(25, 118, 210, 0.1);
  border: 2px dashed #1976d2;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}
.drag-overlay-content[data-v-2f749afa] {
  text-align: center;
  color: #1976d2;
}
.drag-icon[data-v-2f749afa] {
  margin-bottom: 8px;
  opacity: 0.8;
}
.drag-text[data-v-2f749afa] {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}

/* Webkit浏览器的滚动条样式 */
.user-documents-content[data-v-2f749afa]::-webkit-scrollbar {
  width: 4px;
}
.user-documents-content[data-v-2f749afa]::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 2px;
}
.user-documents-content[data-v-2f749afa]::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 2px;
}
.user-documents-content[data-v-2f749afa]::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}
.component-header[data-v-2f749afa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  transition: background-color 0.2s;
  flex-shrink: 0;
}
.component-header[data-v-2f749afa]:hover {
  background-color: #f0f0f0;
}
.documents-title[data-v-2f749afa] {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  color: #333;
  display: flex;
  align-items: center;
  gap: 6px;
}
.section-title svg[data-v-2f749afa] {
  color: #666;
  flex-shrink: 0;
}
.documents-count[data-v-2f749afa] {
  font-size: 12px;
  color: #666;
  font-weight: normal;
  background-color: #e3f2fd;
  padding: 2px 6px;
  border-radius: 10px;
}
.selected-documents-count[data-v-2f749afa] {
  font-size: 12px;
  color: #2e7d32;
  font-weight: normal;
  background-color: #e8f5e9;
  padding: 2px 6px;
  border-radius: 10px;
  margin-left: 8px;
}
.documents-header-actions[data-v-2f749afa] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.upload-progress[data-v-2f749afa] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 8px;
}
.upload-progress-bar[data-v-2f749afa] {
  width: 60px;
  height: 4px;
  background-color: #e0e0e0;
  border-radius: 2px;
  overflow: hidden;
}
.upload-progress-fill[data-v-2f749afa] {
  height: 100%;
  background-color: #4caf50;
  transition: width 0.3s ease;
}
.upload-progress-text[data-v-2f749afa] {
  font-size: 11px;
  color: #666;
  white-space: nowrap;
}
.upload-document-button[data-v-2f749afa] {
  background-color: #e3f2fd;
  border: 1px solid #2196f3;
  border-radius: 4px;
  color: #1976d2;
  cursor: pointer;
  padding: 6px 12px;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s;
}
.upload-document-button[data-v-2f749afa]:hover:not(:disabled) {
  background-color: #bbdefb;
  border-color: #1976d2;
}
.upload-document-button[data-v-2f749afa]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.toggle-button[data-v-2f749afa] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  transition: all 0.2s;
}
.toggle-button[data-v-2f749afa]:hover {
  background-color: #e0e0e0;
}
.toggle-button.expanded[data-v-2f749afa] {
  transform: rotate(180deg);
}
.loading-documents[data-v-2f749afa] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #586069;
  text-align: center;
}
.loading-documents .loading-spinner[data-v-2f749afa] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-2f749afa 1s linear infinite;
  margin-bottom: 16px;
}
.empty-documents[data-v-2f749afa] {
  text-align: center;
  padding: 32px 0;
  color: #888;
  font-size: 14px;
}
.documents-grid[data-v-2f749afa] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.document-card[data-v-2f749afa] {
  background-color: #fff;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
  border-left: 6px solid transparent;
}
.document-card-selection[data-v-2f749afa] {
  width: 0px;
  height: 100%;
  background-color: transparent;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.2s;
}
.document-card-selection.selected[data-v-2f749afa] {
  background-color: #2e7d32;
}
.document-card[data-v-2f749afa]:hover {
  background-color: #f8f8f8;
  border-color: #d1d5da;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.document-card.selected[data-v-2f749afa] {
  border-left-color: #2e7d32;
  background-color: #f1f8e9;
}
.document-card-content[data-v-2f749afa] {
  display: flex;
  padding: 12px;
  padding-left: 18px;
  gap: 12px;
}
.document-icon-section[data-v-2f749afa] {
  flex: 0 0 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.document-icon-container[data-v-2f749afa] {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e0e0e0;
}

/* 不同文档类型的图标颜色 */
.document-icon-container.icon-type-pdf[data-v-2f749afa] {
  background-color: #ffebee;
  border-color: #f44336;
}
.document-icon-container.icon-type-pdf .document-icon[data-v-2f749afa] {
  color: #f44336;
}
.document-icon-container.icon-type-doc[data-v-2f749afa],
.document-icon-container.icon-type-docx[data-v-2f749afa] {
  background-color: #e3f2fd;
  border-color: #2196f3;
}
.document-icon-container.icon-type-doc .document-icon[data-v-2f749afa],
.document-icon-container.icon-type-docx .document-icon[data-v-2f749afa] {
  color: #2196f3;
}
.document-icon-container.icon-type-xls[data-v-2f749afa],
.document-icon-container.icon-type-xlsx[data-v-2f749afa] {
  background-color: #e8f5e9;
  border-color: #4caf50;
}
.document-icon-container.icon-type-xls .document-icon[data-v-2f749afa],
.document-icon-container.icon-type-xlsx .document-icon[data-v-2f749afa] {
  color: #4caf50;
}
.document-icon-container.icon-type-ppt[data-v-2f749afa],
.document-icon-container.icon-type-pptx[data-v-2f749afa] {
  background-color: #fff3e0;
  border-color: #ff9800;
}
.document-icon-container.icon-type-ppt .document-icon[data-v-2f749afa],
.document-icon-container.icon-type-pptx .document-icon[data-v-2f749afa] {
  color: #ff9800;
}
.document-icon-container.icon-type-txt[data-v-2f749afa],
.document-icon-container.icon-type-md[data-v-2f749afa] {
  background-color: #f3e5f5;
  border-color: #9c27b0;
}
.document-icon-container.icon-type-txt .document-icon[data-v-2f749afa],
.document-icon-container.icon-type-md .document-icon[data-v-2f749afa] {
  color: #9c27b0;
}
.document-icon-container.icon-type-html[data-v-2f749afa],
.document-icon-container.icon-type-xml[data-v-2f749afa] {
  background-color: #fce4ec;
  border-color: #e91e63;
}
.document-icon-container.icon-type-html .document-icon[data-v-2f749afa],
.document-icon-container.icon-type-xml .document-icon[data-v-2f749afa] {
  color: #e91e63;
}
.document-icon-container.icon-type-eml[data-v-2f749afa] {
  background-color: #e0f2f1;
  border-color: #009688;
}
.document-icon-container.icon-type-eml .document-icon[data-v-2f749afa] {
  color: #009688;
}
.document-icon-container.icon-type-image[data-v-2f749afa] {
  background-color: #e8f5e9;
  border-color: #2e7d32;
}
.document-icon-container.icon-type-image .document-icon[data-v-2f749afa] {
  color: #2e7d32;
}
.document-icon[data-v-2f749afa] {
  width: 32px;
  height: 32px;
  color: #666;
}
.document-info-section[data-v-2f749afa] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.document-header[data-v-2f749afa] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.document-title[data-v-2f749afa] {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin: 0;
  line-height: 1.4;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.document-actions[data-v-2f749afa] {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}
.document-action-button[data-v-2f749afa] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.document-action-button[data-v-2f749afa]:hover {
  background-color: #f0f0f0;
  color: #333;
}
.document-action-button.view[data-v-2f749afa]:hover {
  color: #1976d2;
}
.document-action-button.delete[data-v-2f749afa]:hover {
  color: #d32f2f;
}
.document-meta[data-v-2f749afa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: #666;
}
.document-date[data-v-2f749afa] {
  color: #888;
}
.document-type[data-v-2f749afa] {
  background-color: #f5f5f5;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 11px;
}
@keyframes spin-2f749afa {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 响应式设计 */
@media (max-width: 768px) {
.documents-grid[data-v-2f749afa] {
    grid-template-columns: 1fr;
}
.component-header[data-v-2f749afa] {
    padding: 12px;
}
.section-title[data-v-2f749afa] {
    font-size: 14px;
}
.upload-document-button[data-v-2f749afa] {
    padding: 4px 8px;
    font-size: 11px;
}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/AgentMap.vue?vue&type=style&index=0&id=38c1934c&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.agent-map-container[data-v-38c1934c] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #ffffff;
}
.component-header[data-v-38c1934c] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  background-color: #f8f8f8;
}
.section-title[data-v-38c1934c] {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}
.location-info[data-v-38c1934c] {
  background: #e3f2fd;
  color: #1976d2;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: normal;
}
.component-content[data-v-38c1934c] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.distance-controller[data-v-38c1934c] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  background: #fafafa;
}
.controller-label[data-v-38c1934c] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #666;
  margin-bottom: 12px;
  font-weight: bold;
}
.distance-slider-container[data-v-38c1934c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.distance-slider[data-v-38c1934c] {
  flex: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  height: 6px;
  background: linear-gradient(to right, #e3f2fd 0%, #1976d2 100%);
  border-radius: 3px;
  outline: none;
  transition: all 0.3s ease;
}
.distance-slider[data-v-38c1934c]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
  cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(25, 118, 210, 0.3);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.distance-min[data-v-38c1934c],
.distance-max[data-v-38c1934c] {
  font-size: 12px;
  color: #999;
  font-weight: 500;
  min-width: 40px;
  text-align: center;
}
.map-container[data-v-38c1934c] {
  flex: 1;
  position: relative;
  overflow: hidden;
  background: #f8f9fa;
}
.leaflet-map-container[data-v-38c1934c] {
  width: 100% !important;
  height: 400px !important;
  min-height: 400px !important;
  position: relative;
  background: #f8f9fa;
  border: 1px solid #ddd;
  border-radius: 4px;
}

/* 确保Leaflet地图容器有正确的样式 */
.leaflet-map-container .leaflet-container[data-v-38c1934c] {
  width: 100% !important;
  height: 100% !important;
}

/* 确保地图容器有足够的高度 */
.map-container[data-v-38c1934c] {
  flex: 1;
  position: relative;
  overflow: hidden;
  background: #f8f9fa;
  min-height: 450px;
  height: 450px;
}
.map-stats[data-v-38c1934c] {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: rgba(255, 255, 255, 0.9);
  padding: 8px 12px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  font-size: 12px;
  z-index: 1000;
}
.stat-item[data-v-38c1934c] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 2px;
}
.stat-item[data-v-38c1934c]:last-child {
  margin-bottom: 0;
}
.stat-label[data-v-38c1934c] {
  color: #666;
}
.stat-value[data-v-38c1934c] {
  color: #1976d2;
  font-weight: bold;
}
.map-legend[data-v-38c1934c] {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(255, 255, 255, 0.9);
  padding: 12px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  font-size: 12px;
  z-index: 1000;
}
.legend-item[data-v-38c1934c] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.legend-item[data-v-38c1934c]:last-child {
  margin-bottom: 0;
}
.legend-marker[data-v-38c1934c] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.center-marker[data-v-38c1934c] {
  background: #1976d2;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}
.erp-marker[data-v-38c1934c] {
  background: #4caf50;
}
.wca-marker[data-v-38c1934c] {
  background: #ff9800;
}

/* 自定义图标样式 */
[data-v-38c1934c] .custom-div-icon {
  background: transparent !important;
  border: none !important;
}

/* 确保地图标记中的数字清晰可见 */
[data-v-38c1934c] .custom-div-icon div {
  font-family: 'Arial', 'Helvetica', sans-serif !important;
  font-weight: bold !important;
  text-align: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  letter-spacing: 0.5px !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Leaflet 控件样式调整 */
[data-v-38c1934c] .leaflet-control-zoom {
  border: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
[data-v-38c1934c] .leaflet-control-zoom a {
  background-color: white !important;
  color: #666 !important;
  border: none !important;
  width: 32px !important;
  height: 32px !important;
  line-height: 32px !important;
  font-size: 16px !important;
}
[data-v-38c1934c] .leaflet-control-zoom a:hover {
  background-color: #f5f5f5 !important;
  color: #1976d2 !important;
}

/* 弹窗样式 */
[data-v-38c1934c] .leaflet-popup-content-wrapper {
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}
[data-v-38c1934c] .leaflet-popup-content {
  margin: 12px 16px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/Agents.vue?vue&type=style&index=0&id=0c0a00de&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.agents-container[data-v-0c0a00de] {
  height: 100%;
  background: white;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.component-header[data-v-0c0a00de] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  background: #fafafa;
  flex-shrink: 0;
}
.section-header[data-v-0c0a00de] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.section-title[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.section-title svg[data-v-0c0a00de] {
  color: #444;
}
.selection-count[data-v-0c0a00de] {
  color: #1976d2;
  font-weight: 500;
  font-size: 14px;
}
.workflow-hint[data-v-0c0a00de] {
  color: #666;
  font-weight: 400;
  font-size: 12px;
  margin-left: 8px;
  padding: 2px 6px;
  background: #f0f0f0;
  border-radius: 10px;
}
.select-all-button[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #495057;
  cursor: pointer;
  transition: all 0.2s ease;
}
.select-all-button[data-v-0c0a00de]:hover {
  background: #e9ecef;
  border-color: #adb5bd;
  color: #343a40;
}
.select-all-button.all-selected[data-v-0c0a00de] {
  background: #d4edda;
  border-color: #c3e6cb;
  color: #155724;
}
.select-all-button.all-selected[data-v-0c0a00de]:hover {
  background: #c3e6cb;
  border-color: #b8dacc;
}
.checkbox-icon[data-v-0c0a00de] {
  width: 16px;
  height: 16px;
  border: 2px solid #dee2e6;
  border-radius: 3px;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.checkbox-icon.checked[data-v-0c0a00de] {
  background: #28a745;
  border-color: #28a745;
  color: white;
}
.select-all-button:hover .checkbox-icon[data-v-0c0a00de] {
  border-color: #adb5bd;
}
.select-all-button.all-selected:hover .checkbox-icon[data-v-0c0a00de] {
  background: #218838;
  border-color: #218838;
}
.agents-filter-buttons[data-v-0c0a00de] {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}
.agents-location-filter-buttons[data-v-0c0a00de] {
  flex-wrap: wrap;
  overflow-x: visible;
  margin-top: 8px;
}
.filter-button[data-v-0c0a00de] {
  flex-shrink: 0;
  padding: 6px 12px;
  background: white;
  border: 1px solid #ddd;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 12px;
  min-width: 60px;
  justify-content: center;
  align-items: center;
}
.filter-button[data-v-0c0a00de]:hover {
  background: #f5f5f5;
  border-color: #bbb;
}
.filter-button.active[data-v-0c0a00de] {
  background: #e3f2fd;
  border-color: #1976d2;
  color: #1976d2;
}
.filter-button-content[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: center;
}

/* 复选框图标样式 */
.filter-button .checkbox-icon[data-v-0c0a00de] {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  margin-right: 4px;
}
.filter-icon[data-v-0c0a00de] {
  width: 14px;
  height: 14px;
}
.component-content[data-v-0c0a00de] {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.agents-list[data-v-0c0a00de] {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
  overflow-x: visible;
}
.loading-agents[data-v-0c0a00de] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: #666;
}
.loading-spinner[data-v-0c0a00de] {
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin-0c0a00de 1s linear infinite;
  margin-bottom: 10px;
}
@keyframes spin-0c0a00de {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}
.empty-agents[data-v-0c0a00de] {
  text-align: center;
  color: #666;
  padding: 40px 20px;
}
.agents-grid[data-v-0c0a00de] {
  display: flex;
  flex-direction: column;
}
.agent-card[data-v-0c0a00de] {
  border-bottom: 1px solid #e0e0e0;
  background: white;
  transition: all 0.2s;
  cursor: pointer;
  position: relative;
  overflow: visible;
}
.agent-card[data-v-0c0a00de]:hover {
  background-color: #f8f8f8;
}
.agent-card.workflow-mode[data-v-0c0a00de] {
  border: 1px solid #e3f2fd;
  background-color: #fafafe;
}
.agent-card.workflow-mode[data-v-0c0a00de]:hover {
  background-color: #e3f2fd;
  cursor: pointer;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.agent-card.workflow-selected[data-v-0c0a00de] {
  background-color: #e8f5e8;
  border-color: #4caf50;
  box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}
.agent-card.selected[data-v-0c0a00de] {
  border-left-color: #2e7d32;
  background-color: #f1f8e9;
}
.agent-card-selection[data-v-0c0a00de] {
  width: 6px;
  height: 100%;
  background-color: transparent;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.2s;
}
.agent-card-selection.selected[data-v-0c0a00de] {
  background-color: #2e7d32;
}
.agent-card-content[data-v-0c0a00de] {
  padding: 16px;
  margin-left: 4px;
}
.agent-header[data-v-0c0a00de] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.agent-info[data-v-0c0a00de] {
  flex: 1;
  min-width: 0;
}
.agent-name[data-v-0c0a00de] {
  margin: 0 0 6px 0;
  font-size: 15px;
  font-weight: 600;
  color: #333;
  line-height: 1.3;
  word-wrap: break-word;
}
.agent-meta[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.agent-type[data-v-0c0a00de] {
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
}
.agent-type.erp[data-v-0c0a00de] {
  background: #e8f5e8;
  color: #2e7d32;
}
.agent-type.wca[data-v-0c0a00de] {
  background: #fff3e0;
  color: #f57c00;
}
.agent-location[data-v-0c0a00de] {
  font-size: 12px;
  color: #666;
}
.agent-actions[data-v-0c0a00de] {
  flex-shrink: 0;
  margin-left: 12px;
}
.agent-action-button[data-v-0c0a00de] {
  width: 32px;
  height: 32px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  color: #666;
}
.agent-action-button[data-v-0c0a00de]:hover {
  background: #f5f5f5;
  border-color: #bbb;
  color: #333;
}
.agent-stats[data-v-0c0a00de] {
  display: flex;
  gap: 16px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.stat-item[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #666;
}
.stat-icon[data-v-0c0a00de] {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  padding: 2px;
}
.stat-icon.distance[data-v-0c0a00de] {
  background: #e3f2fd;
  color: #1976d2;
}
.stat-icon.communication[data-v-0c0a00de] {
  background: #f3e5f5;
  color: #7b1fa2;
}
.stat-icon.rating[data-v-0c0a00de] {
  background: #fff3e0;
  color: #f57c00;
}
.stat-value[data-v-0c0a00de] {
  font-weight: 500;
  color: #333;
}
.agent-tags[data-v-0c0a00de] {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.agent-tag[data-v-0c0a00de] {
  padding: 2px 6px;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 11px;
  color: #666;
  white-space: nowrap;
}
.agent-services[data-v-0c0a00de] {
  border-top: 1px solid #f0f0f0;
  padding-top: 12px;
}
.services-title[data-v-0c0a00de] {
  font-size: 12px;
  color: #666;
  margin-bottom: 6px;
  font-weight: 500;
}
.services-list[data-v-0c0a00de] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.service-item[data-v-0c0a00de] {
  padding: 2px 6px;
  background: #e3f2fd;
  border-radius: 4px;
  font-size: 11px;
  color: #1976d2;
  white-space: nowrap;
}
.service-more[data-v-0c0a00de] {
  padding: 2px 6px;
  background: #f5f5f5;
  border-radius: 4px;
  font-size: 11px;
  color: #666;
}
.load-more-container[data-v-0c0a00de] {
  display: flex;
  justify-content: center;
  padding: 20px;
  margin-top: 10px;
}
.load-more-button[data-v-0c0a00de] {
  background: #1976d2;
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.load-more-button[data-v-0c0a00de]:hover:not(:disabled) {
  background: #1565c0;
  transform: translateY(-1px);
}
.load-more-button[data-v-0c0a00de]:disabled {
  background: #ccc;
  cursor: not-allowed;
  transform: none;
}
.loading-spinner-small[data-v-0c0a00de] {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  border-top-color: transparent;
  animation: spin-0c0a00de 1s linear infinite;
  margin-right: 6px;
}
@keyframes spin-0c0a00de {
to {
    transform: rotate(360deg);
}
}

/* Quotation Status Styles */
.agent-card.status-replied[data-v-0c0a00de] {
  background-color: #f0fff4; /* 浅绿色背景 */
  border-color: #48bb78;
}
.agent-card.status-read[data-v-0c0a00de] {
  background-color: #fffbeb; /* 浅黄色背景 */
  border-color: #ed8936;
}
.quotation-status-tag[data-v-0c0a00de] {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 500;
  margin-left: 6px;
}
.quotation-status-tag.replied[data-v-0c0a00de] {
  background-color: #c6f6d5;
  color: #2f855a;
  border: 1px solid #48bb78;
}
.quotation-status-tag.read[data-v-0c0a00de] {
  background-color: #fef5e7;
  color: #c05621;
  border: 1px solid #ed8936;
}

/* 批量操作按钮样式 */
.batch-actions[data-v-0c0a00de] {
  margin-bottom: 12px;
}
.batch-action-button[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #1976d2;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.batch-action-button[data-v-0c0a00de]:hover:not(:disabled) {
  background: #1565c0;
  transform: translateY(-1px);
}
.batch-action-button[data-v-0c0a00de]:disabled {
  background: #ccc;
  cursor: not-allowed;
  transform: none;
}
.batch-action-button.generate-drafts[data-v-0c0a00de] {
  background: #4caf50;
}
.batch-action-button.generate-drafts[data-v-0c0a00de]:hover:not(:disabled) {
  background: #45a049;
}
.test-actions[data-v-0c0a00de] {
  margin-bottom: 8px;
}
.test-button[data-v-0c0a00de] {
  padding: 6px 12px;
  background: #ff9800;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.test-button[data-v-0c0a00de]:hover {
  background: #f57c00;
}

/* 工作流抽屉样式 */
.workflow-drawer-overlay[data-v-0c0a00de] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.workflow-drawer[data-v-0c0a00de] {
  background: white;
  border-radius: 8px;
  width: 90%;
  max-width: 800px;
  max-height: 80vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.workflow-drawer-header[data-v-0c0a00de] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #eee;
  background: #fafafa;
}
.workflow-drawer-header h3[data-v-0c0a00de] {
  margin: 0;
  font-size: 18px;
  color: #333;
}
.close-button[data-v-0c0a00de] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background 0.2s;
}
.close-button[data-v-0c0a00de]:hover {
  background: #f0f0f0;
}

/* 工作流列表样式 */
.workflows-list[data-v-0c0a00de] {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
}
.workflow-item[data-v-0c0a00de] {
  background: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.workflow-item[data-v-0c0a00de]:hover {
  background: #f0f0f0;
  border-color: #bbb;
}
.workflow-header[data-v-0c0a00de] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.workflow-header h4[data-v-0c0a00de] {
  margin: 0;
  font-size: 16px;
  color: #333;
}
.workflow-status[data-v-0c0a00de] {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}
.workflow-status.pending[data-v-0c0a00de] {
  background: #fff3cd;
  color: #856404;
}
.workflow-status.completed[data-v-0c0a00de] {
  background: #d4edda;
  color: #155724;
}
.workflow-status.failed[data-v-0c0a00de] {
  background: #f8d7da;
  color: #721c24;
}
.workflow-stats[data-v-0c0a00de] {
  display: flex;
  gap: 16px;
  margin-bottom: 12px;
  font-size: 13px;
  color: #666;
}
.workflow-actions[data-v-0c0a00de] {
  display: flex;
  gap: 8px;
}
.send-button[data-v-0c0a00de], .view-button[data-v-0c0a00de] {
  padding: 6px 12px;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.send-button[data-v-0c0a00de] {
  background: #28a745;
  color: white;
}
.send-button[data-v-0c0a00de]:hover:not(:disabled) {
  background: #218838;
}
.view-button[data-v-0c0a00de] {
  background: #6c757d;
  color: white;
}
.view-button[data-v-0c0a00de]:hover {
  background: #5a6268;
}

/* 工作流详情样式 */
.workflow-detail-section[data-v-0c0a00de] {
  padding: 20px;
  overflow-y: auto;
  flex: 1;
}
.workflow-detail-header[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eee;
}
.back-button[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px 12px;
  border-radius: 4px;
  color: #666;
  transition: background 0.2s;
}
.back-button[data-v-0c0a00de]:hover {
  background: #f0f0f0;
}
.workflow-detail-header h4[data-v-0c0a00de] {
  margin: 0;
  font-size: 18px;
  color: #333;
}
.email-template-preview[data-v-0c0a00de] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 20px;
}
.email-template-preview h5[data-v-0c0a00de] {
  margin: 0 0 12px 0;
  font-size: 14px;
  color: #333;
}
.email-content[data-v-0c0a00de] {
  font-size: 13px;
}
.email-subject[data-v-0c0a00de] {
  margin-bottom: 8px;
}
.email-body pre[data-v-0c0a00de] {
  margin: 0;
  white-space: pre-wrap;
  font-family: inherit;
  font-size: 12px;
  color: #666;
}
.contacts-section[data-v-0c0a00de] {
  margin-bottom: 20px;
}
.contacts-section h5[data-v-0c0a00de] {
  margin: 0 0 12px 0;
  font-size: 14px;
  color: #333;
}
.contacts-list[data-v-0c0a00de] {
  max-height: 300px;
  overflow-y: auto;
}
.contact-item[data-v-0c0a00de] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border: 1px solid #eee;
  border-radius: 6px;
  margin-bottom: 8px;
  background: white;
}
.contact-info[data-v-0c0a00de] {
  flex: 1;
}
.contact-name[data-v-0c0a00de] {
  font-weight: 500;
  color: #333;
  margin-bottom: 4px;
}
.contact-email[data-v-0c0a00de] {
  font-size: 12px;
  color: #666;
  margin-bottom: 2px;
}
.contact-company[data-v-0c0a00de] {
  font-size: 11px;
  color: #999;
}
.contact-status[data-v-0c0a00de] {
  margin-left: 12px;
}
.status-created[data-v-0c0a00de], .status-sent[data-v-0c0a00de], .status-failed[data-v-0c0a00de], .status-pending[data-v-0c0a00de] {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
}
.status-created[data-v-0c0a00de] {
  background: #e3f2fd;
  color: #1976d2;
}
.status-sent[data-v-0c0a00de] {
  background: #e8f5e8;
  color: #2e7d32;
}
.status-failed[data-v-0c0a00de] {
  background: #ffebee;
  color: #c62828;
}
.status-pending[data-v-0c0a00de] {
  background: #fff3e0;
  color: #ef6c00;
}
.workflow-detail-actions[data-v-0c0a00de] {
  display: flex;
  justify-content: center;
  padding-top: 16px;
  border-top: 1px solid #eee;
}
.send-all-button[data-v-0c0a00de] {
  padding: 10px 20px;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.send-all-button[data-v-0c0a00de]:hover:not(:disabled) {
  background: #218838;
}
.send-all-button[data-v-0c0a00de]:disabled {
  background: #ccc;
  cursor: not-allowed;
}

/* 常用文档区域样式 */
.user-documents-section[data-v-0c0a00de] {
  max-height: 50%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid #eee;
}
.user-documents-container[data-v-0c0a00de] {
  border-top: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.user-documents-container .component-header[data-v-0c0a00de] {
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  background: transparent;
  flex-shrink: 0;
}
.user-documents-container .section-title[data-v-0c0a00de] {
  font-size: 14px;
  margin: 0 0 8px 0;
}
.user-documents-container .documents-header-actions[data-v-0c0a00de] {
  gap: 6px;
}
.user-documents-container .upload-document-button[data-v-0c0a00de] {
  padding: 4px 8px;
  font-size: 11px;
}
.user-documents-container .user-documents-content[data-v-0c0a00de] {
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
.user-documents-container .documents-grid[data-v-0c0a00de] {
  grid-template-columns: 1fr;
}
.user-documents-container .document-card[data-v-0c0a00de] {
  margin-bottom: 8px;
  border-radius: 6px;
  border: 1px solid #eee;
}
.user-documents-container .document-card-content[data-v-0c0a00de] {
  padding: 8px;
  gap: 8px;
}
.user-documents-container .document-icon-container[data-v-0c0a00de] {
  width: 32px;
  height: 32px;
}
.user-documents-container .document-icon[data-v-0c0a00de] {
  width: 20px;
  height: 20px;
}
.user-documents-container .document-title[data-v-0c0a00de] {
  font-size: 13px;
  -webkit-line-clamp: 1;
  line-clamp: 1;
}
.user-documents-container .document-meta[data-v-0c0a00de] {
  font-size: 11px;
}
.user-documents-container .document-actions[data-v-0c0a00de] {
  gap: 2px;
}
.user-documents-container .document-action-button[data-v-0c0a00de] {
  padding: 2px;
}
.search-container[data-v-0c0a00de] {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  padding: 0 12px; /* 减少左右内边距，使其更宽 */
}
.search-input-wrapper[data-v-0c0a00de] {
  position: relative;
  max-width: 100%; /* 限制最大宽度 */
}
.search-input[data-v-0c0a00de] {
  width: 100%;
  padding: 7px 10px 7px 30px; /* 减少上下内边距，使其更矮 */
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}
.search-input[data-v-0c0a00de]:focus {
  outline: none;
  border-color: #1976d2; /* 聚焦时边框变蓝 */
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1); /* 添加聚焦时的阴影效果 */
}
.clear-search-button[data-v-0c0a00de] {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #999;
  cursor: pointer;
}
.search-suggestions[data-v-0c0a00de] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 6px; /* 与搜索框保持一致的圆角 */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* 增强阴影效果 */
  max-height: 200px;
  overflow-y: auto;
  z-index: 9999;
  margin-top: 4px;
  border-top: none; /* 移除顶部边框，与搜索框无缝连接 */
  border-top-left-radius: 0; /* 移除左上角圆角 */
  border-top-right-radius: 0; /* 移除右上角圆角 */
}
.search-suggestion-item[data-v-0c0a00de] {
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #333;
}
.search-suggestion-item[data-v-0c0a00de]:last-child {
  border-bottom: none;
}
.search-suggestion-item[data-v-0c0a00de]:hover {
  background-color: #f5f5f5;
}
.no-results-message[data-v-0c0a00de] {
  padding: 8px 12px;
  color: #666;
  font-size: 14px;
  text-align: center;
  border-bottom: 1px solid #f0f0f0;
}
.no-results-message[data-v-0c0a00de]:last-child {
  border-bottom: none;
}
.agent-checkbox[data-v-0c0a00de] {
  width: 24px;
  height: 24px;
  cursor: pointer;
  margin: 0;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 2px solid #ddd;
  background-color: white;
  transition: all 0.2s ease;
  position: relative;
}
.agent-checkbox[data-v-0c0a00de]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* 未选中状态下的灰色对勾 */
.agent-checkbox[data-v-0c0a00de]::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1600 1280%27 fill=%27%23ccc%27%3E%3Cpath d=%27M1575 310q0 40-28 68l-724 724l-136 136q-28 28-68 28t-68-28l-136-136L53 740q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295l656-657q28-28 68-28t68 28l136 136q28 28 28 68%27/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.5;
}
.agent-checkbox[data-v-0c0a00de]:checked {
  background-color: #2e7d32;
  border-color: white;
  box-shadow: 0 0 3px 2px #00000022;
}
.agent-checkbox[data-v-0c0a00de]:checked::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1600 1280%27 fill=%27white%27%3E%3Cpath d=%27M1575 310q0 40-28 68l-724 724l-136 136q-28 28-68 28t-68-28l-136-136L53 740q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295l656-657q28-28 68-28t68 28l136 136q28 28 28 68%27/%3E%3C/svg%3E");
  opacity: 1;
}
.agent-checkbox[data-v-0c0a00de]:hover:not(:disabled) {
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
  color:white;
}
.agent-checkbox[data-v-0c0a00de]:hover:not(:disabled)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27%231976d2%27%3E%3Cpath d=%27M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z%27/%3E%3C/svg%3E");
  opacity: 0.7;
  color:white;
}
.agent-checkbox[data-v-0c0a00de]:active:not(:disabled) {
  transform: scale(0.95);
}
.agent-checkbox[data-v-0c0a00de]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
}
.search-icon[data-v-0c0a00de] {
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  color: #999;
  z-index: 1;
}

/* Contact Selection Styles */
.contact-selection-section[data-v-0c0a00de] {
  margin-top: 12px;
  padding: 12px;
  background-color: #f8f9fa;
  border: 1px solid #e3f2fd;
  border-radius: 6px;
  position: relative;
  overflow: visible;
}
.contact-selection-title[data-v-0c0a00de] {
  font-size: 13px;
  font-weight: 600;
  color: #1976d2;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.inquiry-type-indicator[data-v-0c0a00de] {
  font-size: 11px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 10px;
  border: 1px solid;
}
.inquiry-type-indicator.complex[data-v-0c0a00de] {
  background-color: #ffebee;
  color: #c62828;
  border-color: #ef5350;
}
.inquiry-type-indicator.simple[data-v-0c0a00de] {
  background-color: #e8f5e8;
  color: #2e7d32;
  border-color: #66bb6a;
}
.contact-selection-controls[data-v-0c0a00de] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.contact-dropdown-group[data-v-0c0a00de] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contact-label[data-v-0c0a00de] {
  font-size: 12px;
  font-weight: 500;
  color: #555;
}
.contact-select[data-v-0c0a00de] {
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 12px;
  background-color: white;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.contact-select[data-v-0c0a00de]:hover {
  border-color: #1976d2;
}
.contact-select[data-v-0c0a00de]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}
.contact-loading[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #666;
  margin-top: 8px;
}
.loading-spinner-small[data-v-0c0a00de] {
  width: 14px;
  height: 14px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #1976d2;
  border-radius: 50%;
  animation: spin-0c0a00de 1s linear infinite;
}

/* 自定义下拉单样式 */
.custom-dropdown[data-v-0c0a00de] {
  position: relative;
  width: 100%;
}
.dropdown-trigger[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: white;
  cursor: pointer;
  transition: border-color 0.2s ease;
  min-height: 32px;
}
.dropdown-trigger[data-v-0c0a00de]:has(.selected-contact-card) {
  min-height: 70px;
  align-items: flex-start;
  padding-top: 8px;
}
.dropdown-trigger[data-v-0c0a00de]:hover {
  border-color: #1976d2;
}
.dropdown-trigger[data-v-0c0a00de]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}
.selected-contact[data-v-0c0a00de] {
  font-size: 12px;
  color: #333;
  flex: 1;
  text-align: left;
}
.selected-contact-card[data-v-0c0a00de] {
  flex: 1;
  text-align: left;
  min-height: 60px;
  display: flex;
  align-items: center;
}
.placeholder[data-v-0c0a00de] {
  font-size: 12px;
  color: #999;
  flex: 1;
  text-align: left;
}
.dropdown-arrow[data-v-0c0a00de] {
  color: #666;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.custom-dropdown.open .dropdown-arrow[data-v-0c0a00de] {
  transform: rotate(180deg);
}
.dropdown-menu[data-v-0c0a00de] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  max-height: 300px;
  overflow-y: auto;
  margin-top: 2px;
}
.dropdown-option[data-v-0c0a00de] {
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
  padding-right: 40px; /* 为右上角的统计徽章留出空间 */
}
.dropdown-option[data-v-0c0a00de]:last-child {
  border-bottom: none;
}
.dropdown-option[data-v-0c0a00de]:hover {
  background-color: #f5f5f5;
}
.dropdown-option.selected[data-v-0c0a00de] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.contact-option-content[data-v-0c0a00de] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contact-line[data-v-0c0a00de] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  line-height: 1.3;
}
.contact-icon[data-v-0c0a00de] {
  flex-shrink: 0;
  color: #666;
  margin-top: 1px;
}
.contact-name-line[data-v-0c0a00de] {
  font-weight: 500;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}
.contact-name-text[data-v-0c0a00de] {
  flex: 1;
}
.contact-count-badge[data-v-0c0a00de] {
  background: #1976d2;
  color: white;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  min-width: 20px;
  text-align: center;
  line-height: 1.2;
}
.contact-position-line[data-v-0c0a00de] {
  color: #555;
  font-style: italic;
}
.contact-location-line[data-v-0c0a00de] {
  color: #666;
  font-size: 11px;
}
.contact-email-line[data-v-0c0a00de] {
  color: #1976d2;
  font-size: 12px;
}
.contact-stats-badge[data-v-0c0a00de] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #1976d2;
  color: white;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  min-width: 20px;
  text-align: center;
  line-height: 1.2;
}
.selected-contact-card[data-v-0c0a00de] {
  position: relative;
}
.dropdown-option[data-v-0c0a00de] {
  position: relative;
}

/* 多选联系人容器样式 */
.selected-contacts-container[data-v-0c0a00de] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.selected-contact-card[data-v-0c0a00de] {
  position: relative;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 8px;
  background-color: #f8f9fa;
  margin-bottom: 4px;
}
.remove-contact-btn[data-v-0c0a00de] {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 16px;
  height: 16px;
  border: none;
  background: #bbb;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s;
}
.remove-contact-btn[data-v-0c0a00de]:hover {
  background: #cc0000;
}
.remove-contact-btn svg[data-v-0c0a00de] {
  width: 12px;
  height: 12px;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/EmailEditor.vue?vue&type=style&index=0&id=75c6bf36&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.email-editor-overlay[data-v-75c6bf36] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.email-editor-container[data-v-75c6bf36] {
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.email-editor-header[data-v-75c6bf36] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  border-bottom: 1px solid #e0e0e0;
  background-color: #f8f8f8;
}
.email-editor-header h2[data-v-75c6bf36] {
  margin: 0;
  font-size: 18px;
  color: #333;
}
.editor-actions[data-v-75c6bf36] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.save-status[data-v-75c6bf36] {
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 13px;
  color: #fff;
  background-color: #9e9e9e;
  animation: fadeIn-75c6bf36 0.3s ease-in-out;
  transition: background-color 0.3s;
}
.save-status.success[data-v-75c6bf36] {
  background-color: #4caf50;
}
.save-status.error[data-v-75c6bf36] {
  background-color: #f44336;
}
@keyframes fadeIn-75c6bf36 {
from { opacity: 0;
}
to { opacity: 1;
}
}
.close-button[data-v-75c6bf36] {
  background: #e3e3e3;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s;
  color: #666;
}
.close-button[data-v-75c6bf36]:hover {
  background-color: #d0d0d0;
}
.test-scene-button[data-v-75c6bf36] {
  background: #1976d2;
  color: white;
  border: none;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-right: 12px;
}
.test-scene-button[data-v-75c6bf36]:hover {
  background-color: #1565c0;
}
.test-material-button[data-v-75c6bf36] {
  background: #2196f3;
  color: white;
  border: none;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-right: 12px;
}
.test-material-button[data-v-75c6bf36]:hover {
  background-color: #1976d2;
}
.test-resources-toggle-button[data-v-75c6bf36] {
  background: #4caf50;
  color: white;
  border: none;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-right: 12px;
}
.test-resources-toggle-button[data-v-75c6bf36]:hover {
  background-color: #45a049;
}
.email-editor-layout[data-v-75c6bf36] {
  display: flex;
  align-items: stretch;
  height: calc(100% - 53px); /* 减去头部高度 */
  position: relative;
  overflow: hidden;
}
.left-panel[data-v-75c6bf36],
.middle-panel[data-v-75c6bf36],
.right-panel[data-v-75c6bf36],
.resources-panel[data-v-75c6bf36] {
  background: #fff;
  border-radius: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.left-panel[data-v-75c6bf36] {
  flex: 0 0 auto;
  position: relative;
  width: 300px;
  overflow-y: hidden;
}
.resources-panel[data-v-75c6bf36] {
  flex: 0 0 auto;
  position: relative;
  width: 360px;
  overflow-y: auto;
  /* 展开状态下不添加动画 */
}

/* 素材面板收起状态 */
.resources-panel.collapsed[data-v-75c6bf36] {
  overflow: hidden; /* 收起时隐藏内容 */
  cursor: pointer; /* 收起时显示手型光标，提示可点击 */
  position: relative; /* 为遮罩层提供定位上下文 */
  transition: all 0.2s ease; /* 收起状态添加动画过渡 */
}

/* 素材面板收起状态的纯色遮罩层 - 完全阻挡内容显示和交互 */
.resources-panel.collapsed[data-v-75c6bf36]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fafafa; /* 纯色灰色背景 */
  border-right: 1px solid #eee; /* 右边框 */
  z-index: 50; /* 低于分隔线的z-index，确保不阻挡左侧分隔线 */
  pointer-events: auto; /* 阻止鼠标事件穿透到子元素 */
  transition: all 0.2s ease;
}

/* 素材面板收起状态的图标 */
.resources-collapsed-icon[data-v-75c6bf36] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 60; /* 在遮罩层之上，但不会太高 */
  pointer-events: none; /* 不阻止点击事件 */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}
.resources-collapsed-icon svg[data-v-75c6bf36] {
  width: 14px; /* 适配16px宽的小细条 */
  height: 14px;
  color: #666; /* 图标颜色 */
  transition: color 0.2s ease;
}

/* 素材面板正在展开状态（展开过程中有动画） */
.resources-panel.expanding[data-v-75c6bf36] {
  transition: width 0.3s ease; /* 展开过程添加动画 */
}

/* 素材面板收起状态悬浮效果（宽度变为24px，即1.5倍） */
.resources-panel.collapsed[data-v-75c6bf36]:hover {
  width: 24px !important; /* 悬浮时宽度变为24px（从16px增加到24px，增加50%更明显） */
}

/* 素材面板收起状态悬浮时遮罩层颜色变深 */
.resources-panel.collapsed[data-v-75c6bf36]:hover::before {
  background: #e8e8e8; /* 悬浮时纯色变深 */
  border-right-color: #d0d0d0; /* 悬浮时边框颜色也变深 */
}

/* 素材面板收起状态悬浮时图标旋转45° */
.resources-panel.collapsed:hover .resources-collapsed-icon[data-v-75c6bf36] {
  transform: translate(-50%, -50%) rotate(45deg); /* 保持居中并顺时针旋转45° */
}

/* 素材面板收起状态悬浮时图标颜色变深 */
.resources-panel.collapsed:hover .resources-collapsed-icon svg[data-v-75c6bf36] {
  color: #333; /* 悬浮时图标颜色变深 */
}

/* 素材面板收起状态的脉动提示动画 */
.resources-panel.collapsed.pulsing[data-v-75c6bf36] {
  animation: resourcesPanelPulse-75c6bf36 1s ease-in-out 2; /* 脉动两次 */
}
@keyframes resourcesPanelPulse-75c6bf36 {
0% {
    width: 16px;
}
50% {
    width: 24px; /* 变宽到24px */
}
100% {
    width: 16px; /* 恢复到16px */
}
}

/* 脉动动画期间图标也要对应动画 */
.resources-panel.collapsed.pulsing .resources-collapsed-icon[data-v-75c6bf36] {
  animation: resourcesIconPulse-75c6bf36 1s ease-in-out 2; /* 同步脉动 */
}
@keyframes resourcesIconPulse-75c6bf36 {
0% {
    transform: translate(-50%, -50%) scale(1);
}
50% {
    transform: translate(-50%, -50%) scale(1.2); /* 图标也放大 */
}
100% {
    transform: translate(-50%, -50%) scale(1);
}
}

/* 脉动动画期间遮罩层颜色也要变化 */
.resources-panel.collapsed.pulsing[data-v-75c6bf36]::before {
  animation: resourcesMaskPulse-75c6bf36 1s ease-in-out 2;
}
@keyframes resourcesMaskPulse-75c6bf36 {
0% {
    background: #fafafa;
}
50% {
    background: #e8e8e8; /* 颜色变深 */
}
100% {
    background: #fafafa;
}
}

/* 素材面板展开状态的收起按钮 */
.resources-collapse-button[data-v-75c6bf36] {
  position: absolute;
  right: 0px;
  /* bottom: 120px; 由内联样式动态设置 */
  width: 12px;
  height: 60px;
  background: white;
  border: 1px solid #d0d0d0;
  border-right: none;
  border-radius: 4px 0 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100;
  transition: all 0.3s ease;
  color: #999;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  opacity: 0.5; /* 默认半透明 */
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none; /* 防止拖动时选中文本 */
}
.resources-collapse-button[data-v-75c6bf36]:hover {
  background: #f8f8f8;
  border-color: #bbb;
  color: #666;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  opacity: 1; /* 悬浮时不透明 */
}

/* 拖动状态样式 */
.resources-collapse-button.dragging[data-v-75c6bf36] {
  cursor: move !important; /* 十字移动光标 */
  opacity: 1;
  background: #e3f2fd;
  border-color: #1976d2;
  color: #1976d2;
  box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
  transition: none; /* 拖动时禁用过渡动画，使移动更流畅 */
}
.resources-collapse-button svg[data-v-75c6bf36] {
  width: 16px;
  height: 16px;
}
.middle-panel[data-v-75c6bf36] {
  flex: 1; /* 🚀 中间面板自适应占满剩余空间 */
  min-width: 400px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.right-panel[data-v-75c6bf36] {
  flex: 0 0 auto; /* 🚀 右侧面板固定宽度，不自动伸缩 */
  width: 400px;
  overflow: hidden;
  /* transition: all 0.3s ease; */
  position: relative;
}
.right-panel.collapsed[data-v-75c6bf36] {
  position: fixed;
  top: 0; /* 从顶部开始，EmailEditor 没有顶部导航栏 */
  right: calc(-1 * min(var(--panel-width, 400px), 50vw)); /* 使用动态宽度隐藏在屏幕右侧外部，但不超过屏幕50% */
  width: min(var(--panel-width, 400px), 50vw); /* 使用动态宽度，但最大不超过屏幕50% */
  max-width: 50vw; /* 🚀 悬浮模式下，宽度不能超过屏幕的50% */
  height: 100vh;
  z-index: 999;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  overflow: visible;
  transition: all 0.3s ease;
}

/* 折叠状态下隐藏右侧分割线（包括悬浮时） */
.right-panel.collapsed + .resizer.vertical-resizer[data-v-75c6bf36],
.right-panel.collapsed + .resizer.vertical-resizer[data-v-75c6bf36]:hover {
  opacity: 0 !important;
  pointer-events: none;
}
.right-panel-content[data-v-75c6bf36] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  position: relative;
  /* transition: all 0.3s ease; */
}
.right-panel.collapsed .right-panel-content[data-v-75c6bf36] {
  display: flex; /* 保持显示，因为现在是悬浮状态 */
  overflow: visible;
}

/* 悬浮状态：当鼠标悬停在按钮上时，面板向左滑动 */
.right-panel.collapsed[data-v-75c6bf36]:hover {
  right: 0px; /* 滑动到可见位置 */
}

/* 统一的左侧箭头按钮 */
.unified-arrow-button[data-v-75c6bf36] {
  position: absolute;
  left: 0px;
  bottom: 120px;
  width: 12px;
  height: 60px;
  background: white;
  border: 1px solid #d0d0d0;
  border-left: none;
  border-radius: 0 4px 4px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
  transition: all 0.3s ease;
  color: #999;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* 折叠状态：按钮固定在面板左侧，随着面板移动 */
.right-panel.collapsed .unified-arrow-button[data-v-75c6bf36] {
  position: absolute;
  left: -12px; /* 固定在面板左侧，露出一点点 */
  bottom: 120px; /* 与正常状态相同的位置 */
  width: 12px;
  height: 60px;
  background: white;
  border: 1px solid #d0d0d0;
  border-right: none;
  border-radius: 4px 0 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1001; /* 确保按钮在最上层 */
  transition: all 0.3s ease;
  color: #999;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* 悬浮状态：当鼠标悬停在按钮上时，面板向左滑动 */
.right-panel.collapsed .unified-arrow-button[data-v-75c6bf36]:hover {
  background: #f8f8f8;
  border-color: #bbb;
  color: #666;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
.unified-arrow-button[data-v-75c6bf36]:hover {
  background: #f8f8f8;
  border-color: #bbb;
  color: #666;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

/* 🚀 强制收起状态：半透明，鼠标样式为默认，但可以悬停触发面板展开 */
.unified-arrow-button.force-collapsed[data-v-75c6bf36] {
  opacity: 0.3;
  cursor: default !important; /* 不显示手指光标，表示不可点击 */
  /* 保留鼠标事件，允许悬停触发面板展开，只是点击无效 */
}

/* 折叠状态下的强制收起也要保持默认光标 */
.right-panel.collapsed .unified-arrow-button.force-collapsed[data-v-75c6bf36] {
  cursor: default !important;
}

/* 强制收起状态下，hover 样式保持微弱，不像正常状态那么明显 */
.unified-arrow-button.force-collapsed[data-v-75c6bf36]:hover {
  background: white;
  border-color: #d0d0d0;
  color: #999;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  opacity: 0.3; /* 保持半透明 */
  cursor: default !important; /* 确保悬停时也是默认光标 */
}
.right-panel.collapsed .unified-arrow-button.force-collapsed[data-v-75c6bf36]:hover {
  background: white;
  border-color: #d0d0d0;
  color: #999;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  opacity: 0.3; /* 保持半透明 */
  cursor: default !important; /* 确保悬停时也是默认光标 */
}
.button-content[data-v-75c6bf36] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.unified-arrow-button svg[data-v-75c6bf36] {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
  color: #999;
}
.unified-arrow-button:hover svg[data-v-75c6bf36] {
  color: #666;
}
.panel-section[data-v-75c6bf36] {
  position: relative;
  overflow: hidden;
}
.top-section[data-v-75c6bf36] {
  border-bottom: 1px solid #e0e0e0;
  overflow-y: auto;
}
.bottom-section[data-v-75c6bf36] {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.resizer[data-v-75c6bf36] {
  position: absolute;
  z-index: 100;
  background-color: #e0e0e0;
  transition: background-color 0.2s, opacity 0.2s;
}
.vertical-resizer[data-v-75c6bf36] {
  width: 3px; /* RESIZER_WIDTH */
  height: 100%;
  cursor: col-resize;
  top: 0;
  opacity: 0; /* 默认隐藏 */
}
.vertical-resizer[data-v-75c6bf36]:hover {
  opacity: 1; /* 悬浮时显示 */
  background-color: #1976d2;
}

/* 素材面板收起时隐藏其右侧分隔线 */
.vertical-resizer.resources-resizer-hidden[data-v-75c6bf36],
.vertical-resizer.resources-resizer-hidden[data-v-75c6bf36]:hover {
  opacity: 0 !important;
  pointer-events: none; /* 禁用鼠标事件 */
}
.horizontal-resizer[data-v-75c6bf36] {
  height: 3px; /* RESIZER_WIDTH */
  width: 100%;
  cursor: row-resize;
  left: 0;
  z-index: 101;
}
.horizontal-resizer[data-v-75c6bf36]:hover,
.horizontal-resizer[data-v-75c6bf36]:active {
  background-color: #1976d2;
}
.email-content-wrapper[data-v-75c6bf36] {
  flex: 1;
  position: relative;
  overflow: hidden;
}
.resources-wrapper[data-v-75c6bf36] {
  overflow-y: auto;
  position: relative;
  border-top: 1px solid #eee;
}
.horizontal-content-resizer[data-v-75c6bf36] {
  height: 3px; /* RESIZER_WIDTH */
  width: 100%;
  cursor: row-resize;
  left: 0;
  z-index: 101;
  position: absolute;
  background-color: #e0e0e0;
  transition: background-color 0.2s;
}

/* 保存确认对话框样式 */
.save-confirm-dialog[data-v-75c6bf36] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.save-confirm-content[data-v-75c6bf36] {
  background-color: #fff;
  border-radius: 8px;
  padding: 24px;
  width: 400px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.save-confirm-content h3[data-v-75c6bf36] {
  margin-top: 0;
  margin-bottom: 12px;
  font-size: 18px;
  color: #333;
}
.save-confirm-content p[data-v-75c6bf36] {
  margin-bottom: 24px;
  color: #666;
  font-size: 14px;
}
.save-confirm-buttons[data-v-75c6bf36] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
.save-confirm-buttons button[data-v-75c6bf36] {
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
  border: none;
}
.btn-no[data-v-75c6bf36] {
  background-color: #f5f5f5;
  color: #666;
}
.btn-no[data-v-75c6bf36]:hover {
  background-color: #e0e0e0;
}
.btn-cancel[data-v-75c6bf36] {
  background-color: #f5f5f5;
  color: #666;
}
.btn-cancel[data-v-75c6bf36]:hover {
  background-color: #e0e0e0;
}
.btn-save[data-v-75c6bf36] {
  background-color: #e3f2fd;
  color: #1565c0;
}
.btn-save[data-v-75c6bf36]:hover {
  background-color: #bbdefb;
}

/* 邮件编辑器淡入淡出动画 */
.email-editor-fade-enter-active[data-v-75c6bf36],
.email-editor-fade-leave-active[data-v-75c6bf36] {
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.email-editor-fade-enter-from[data-v-75c6bf36],
.email-editor-fade-leave-to[data-v-75c6bf36] {
  opacity: 0;
  transform: scale(0.95);
}
.email-editor-fade-enter-to[data-v-75c6bf36],
.email-editor-fade-leave-from[data-v-75c6bf36] {
  opacity: 1;
  transform: scale(1);
}

/* 编辑器容器进入动画 */
.email-editor-fade-enter-active .email-editor-container[data-v-75c6bf36] {
  animation: slideInFromTop-75c6bf36 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.email-editor-fade-leave-active .email-editor-container[data-v-75c6bf36] {
  animation: slideOutToTop-75c6bf36 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
@keyframes slideInFromTop-75c6bf36 {
0% {
    transform: translateY(-20px);
    opacity: 0;
}
100% {
    transform: translateY(0);
    opacity: 1;
}
}
@keyframes slideOutToTop-75c6bf36 {
0% {
    transform: translateY(0);
    opacity: 1;
}
100% {
    transform: translateY(-20px);
    opacity: 0;
}
}

/* ===== 导入模板对话框样式优化 ===== */
[data-v-75c6bf36] .import-dialog .el-dialog__body {
  overflow: hidden; /* 防止内层溢出撑开对话框 */
}
[data-v-75c6bf36] .import-dialog .el-table .is-selected > td {
  background-color: #ecf5ff !important; /* 与 Element Plus 高亮色一致 */
}
/* 预览内容自适应，避免图片/表格撑破容器 */
[data-v-75c6bf36] .import-dialog .template-preview .content-preview {
  overflow: auto;
  word-break: break-word;
}
[data-v-75c6bf36] .import-dialog .template-preview .content-preview img {
  max-width: 100%;
  height: auto;
}
[data-v-75c6bf36] .import-dialog .template-preview .content-preview table {
  max-width: 100%;
  table-layout: fixed;
  word-break: break-word;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntExpansionView.vue?vue&type=style&index=0&id=0716132d&scoped=true&lang=css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.ent-expansion-view[data-v-0716132d] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* 组件头部样式 */
.component-header[data-v-0716132d] {
  padding: 18px;
  border-bottom: 1px solid #eee;
  background: #fafafa;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 过滤条件样式 - 学习EntMgr */
.filter-section[data-v-0716132d] {
  margin-bottom: 0px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}
.filter-section-title[data-v-0716132d] {
  font-size: 14px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
}
.list-toolbar[data-v-0716132d] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.select-all-toggle[data-v-0716132d] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #374151;
}
.select-all-toggle[data-v-0716132d]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.select-all-checkbox[data-v-0716132d] {
  width: 18px;
  height: 18px;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #1976d2;
}
.select-all-checkbox.checked[data-v-0716132d] {
  border-color: #1976d2;
  background: #e3f2fd;
}
.select-all-text[data-v-0716132d] {
  font-size: 12px;
  color: #374151;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.select-all-spinner[data-v-0716132d] {
  width: 12px;
  height: 12px;
  border: 2px solid #cbd5e1;
  border-top: 2px solid #1976d2;
  border-radius: 50%;
  animation: selectAllSpin-0716132d 0.8s linear infinite;
}
@keyframes selectAllSpin-0716132d {
0% { transform: rotate(0deg);
}
100% { transform: rotate(360deg);
}
}

/* 组件内容样式 */
.component-content[data-v-0716132d] {
  flex: 1;
  overflow-y: auto;
}
.clients-list[data-v-0716132d] {
  display: flex;
  flex-direction: column;
}
.loading-clients[data-v-0716132d],
.empty-clients[data-v-0716132d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #6c757d;
  text-align: center;
}
.running-status[data-v-0716132d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 20px;
  color: #1976d2;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}
.running-status .running-icon[data-v-0716132d] {
  font-size: 48px;
  margin-bottom: 16px;
  color: #1976d2;
}
.running-status h3[data-v-0716132d] {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 600;
  color: #1976d2;
}
.running-status p[data-v-0716132d] {
  margin: 0 0 24px 0;
  font-size: 14px;
  color: #6c757d;
}

/* 进度条样式 - 右侧面板风格，更简洁紧凑 */
.running-status .overall-progress-right[data-v-0716132d] {
  width: 100%;
  max-width: 100%;
  margin-top: 24px;
  padding: 0;
  box-sizing: border-box;
}
.running-status .progress-header[data-v-0716132d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}
.running-status .progress-text[data-v-0716132d] {
  font-weight: 600;
  color: #1976d2;
  font-size: 13px;
  white-space: nowrap;
  flex-shrink: 0;
}
.running-status .progress-stats[data-v-0716132d] {
  color: #666;
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
  flex-shrink: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}
.running-status .progress-bar-right[data-v-0716132d] {
  width: 100%;
  height: 8px;
  background-color: #e3f2fd;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
.running-status .progress-fill-right[data-v-0716132d] {
  height: 100%;
  transition: width 0.4s ease;
  border-radius: 5px;
  position: relative;
}
.running-status .progress-fill-right[data-v-0716132d]::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  animation: shimmer-0716132d 2s infinite;
}
@keyframes shimmer-0716132d {
0% {
    transform: translateX(-100%);
}
100% {
    transform: translateX(100%);
}
}
.running-status .progress-fill-right.pending[data-v-0716132d] {
  background-color: #9e9e9e;
}
.running-status .progress-fill-right.running[data-v-0716132d] {
  background: linear-gradient(90deg, #1976d2 0%, #42a5f5 100%);
}
.running-status .progress-fill-right.completed[data-v-0716132d] {
  background-color: #4caf50;
}
.running-status .progress-fill-right.failed[data-v-0716132d] {
  background-color: #f44336;
}
.running-status .progress-fill-right.waiting[data-v-0716132d] {
  background: linear-gradient(90deg, #ffc107 0%, #ffd54f 100%);
}
.loading-spinner[data-v-0716132d] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-0716132d 1s linear infinite;
}
@keyframes spin-0716132d {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.clients-grid[data-v-0716132d] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
.clients-grid-column[data-v-0716132d] {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 客户卡片样式 */

/* 仿 Agents 列表卡片风格 */
.clients-grid-column .client-card[data-v-0716132d] {
  border-bottom: 1px solid #e0e0e0;
  background: white;
  cursor: pointer;
  position: relative;
  /* overflow: hidden; */
}
.clients-grid-column .client-card[data-v-0716132d]:hover {
  background-color: #f8f8f8;
  z-index: 1;
}
.clients-grid-column .client-card.selected[data-v-0716132d] {
  background-color: #e3f2fd; /* 非常浅的蓝色 */
}
.clients-grid-column .client-card.expandable[data-v-0716132d] {
  background-color: #f1f8e9; /* 浅绿色 */
}
.clients-grid-column .client-card.abandoned[data-v-0716132d] {
  background-color: #ffebee; /* 浅红色 */
}

/* 按钮组放在logo上面 */
.action-buttons[data-v-0716132d] {
  display: flex;
  gap: 2px;
  margin-bottom: 4px;
  justify-content: center;
  width: 48px; /* 与logo宽度一致 */
}

/* 不匹配按钮 */
.abandon-button[data-v-0716132d] {
  width: 20px;
  height: 20px;
  background-color: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.abandon-button[data-v-0716132d]:hover {
  background-color: #f5c6cb;
  color: #721c24;
  border-color: #f5c6cb;
}
.abandon-button.active[data-v-0716132d] {
  background-color: #dc3545;
  color: white;
  border-color: #dc3545;
}
.abandon-button.active[data-v-0716132d]:hover {
  background-color: #c82333;
  border-color: #c82333;
}

/* 联系按钮 */
.expansion-tag[data-v-0716132d] {
  width: 20px;
  height: 20px;
  background-color: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.expansion-tag[data-v-0716132d]:hover {
  background-color: #d4edda;
  color: #155724;
  border-color: #d4edda;
}
.expansion-tag.active[data-v-0716132d] {
  background-color: #28a745;
  color: white;
  border-color: #28a745;
}
.expansion-tag.active[data-v-0716132d]:hover {
  background-color: #218838;
  border-color: #218838;
}
.clients-grid-column .client-card-selection[data-v-0716132d] {
  width: 6px;
  height: 100%;
  background-color: transparent;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.2s;
}
.clients-grid-column .client-card-selection.selected[data-v-0716132d] {
  background-color: #2e7d32;
}
.clients-grid-column .client-card-content[data-v-0716132d] {
  padding: 16px;
  margin-left: 4px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.clients-grid-column .client-card-header[data-v-0716132d] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.clients-grid-column .client-logo-section[data-v-0716132d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.clients-grid-column .client-logo[data-v-0716132d] {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  background-color: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid #e9ecef;
}
.clients-grid-column .client-info[data-v-0716132d] {
  flex: 1;
  min-width: 0;
}
.clients-grid-column .client-name[data-v-0716132d] {
  font-size: 15px;
  font-weight: 600;
  color: #212529;
  margin-bottom: 4px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.clients-grid-column .client-meta[data-v-0716132d] {
  display: flex;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  flex-wrap: wrap;
}
.clients-grid-column .client-meta .industry[data-v-0716132d] {
  color: #374151;

  padding: 2px 6px;

  font-weight: 500;
  font-size: 11px;
}
.clients-grid-column .client-meta .scale[data-v-0716132d] {
  color: #374151;

  padding: 2px 6px;
  font-weight: 500;
  font-size: 11px;
}
.clients-grid-column .client-meta .region[data-v-0716132d] {
  color: #374151;

  padding: 2px 6px;
  font-weight: 500;
  font-size: 11px;
}
.clients-grid-column .client-meta .divider[data-v-0716132d] {
  opacity: 0.4;
  font-weight: 300;
  color: #9ca3af;
  font-size: 10px;
}
.clients-grid-column .client-funding[data-v-0716132d] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 12px;
  color: #6c757d;
  padding-left: 6px;
}

/* 邮件助手：预览收件人下拉（同公司多封草稿） */
.preview-recipient-row[data-v-0716132d] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  padding-left: 6px;
}
.preview-recipient-label[data-v-0716132d] {
  font-size: 12px;
  color: #6c757d;
  flex-shrink: 0;
}
.preview-recipient-select[data-v-0716132d] {
  flex: 1;
  min-width: 0;
  height: 28px;
  padding: 0 8px;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  background: #fff;
  font-size: 12px;
  color: #374151;
}
.preview-recipient-select[data-v-0716132d]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.12);
}
.clients-grid-column .client-funding .funding-icon[data-v-0716132d] {
  color: #28a745;
  flex-shrink: 0;
}
.clients-grid-column .client-funding .funding-text[data-v-0716132d] {
  font-weight: 500;
}
.clients-grid-column .client-stats[data-v-0716132d] {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 8px 0;
}
.clients-grid-column .client-stats .stat-item[data-v-0716132d] {
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: center;
}

/* 统计徽章基础样式 */
.stat-badge[data-v-0716132d] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.3px;
  border: 1px solid #ccc;
  color: #374151;
}

/* 联系人徽章样式 */
.contact-badge[data-v-0716132d] {
  background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
  color: #374151;
  border-color: #ccc;
}

/* 公司等级徽章样式 */
.grade-badge[data-v-0716132d] {
  color: #374151;
  border-color: #ccc;
}
.grade-badge.a-type[data-v-0716132d] {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
}
.grade-badge.b-type[data-v-0716132d] {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
}
.grade-badge.c-type[data-v-0716132d] {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
}
.grade-badge.unknown-type[data-v-0716132d] {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
}

/* 公司等级图标样式 */
.grade-icon[data-v-0716132d] {
  flex-shrink: 0;
}
.grade-icon.a-type[data-v-0716132d] {
  color: #374151;
}
.grade-icon.b-type[data-v-0716132d] {
  color: #374151;
}
.grade-icon.c-type[data-v-0716132d] {
  color: #374151;
}
.grade-icon.unknown-type[data-v-0716132d] {
  color: #374151;
}

/* 企业分值徽章样式 */
.ent-score-badge[data-v-0716132d] {
  display: flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
  color: #374151;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid #ccc;
  letter-spacing: 0.3px;
}

/* 销售信号徽章样式 */
.sales-signal-badge[data-v-0716132d] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid #ccc;
  letter-spacing: 0.3px;
  color: #374151;
}

/* 立即行动 - 绿色 */
.sales-signal-badge.immediate-action[data-v-0716132d] {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  border-color: #bbf7d0;
}

/* 优先跟进 - 黄色 */
.sales-signal-badge.priority-follow[data-v-0716132d] {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
  border-color: #fde68a;
}

/* 常规跟进 - 红色 */
.sales-signal-badge.regular-follow[data-v-0716132d] {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
  border-color: #fecaca;
}

/* 未知信号 - 灰色 */
.sales-signal-badge.unknown-signal[data-v-0716132d] {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  border-color: #d1d5db;
}

/* AI评估逻辑样式 - 参考EntView */
.ent-reasoning[data-v-0716132d] {
  padding: 8px 12px;
  background-color: #f8f8f8;
  border: 1px solid #efefef;
  border-radius: 4px;
}
.reasoning-text[data-v-0716132d] {
  font-size: 12px;
  line-height: 1.5;
  color: #666;
  margin: 0;
}
.clients-grid-column .client-tags[data-v-0716132d] {
  display: none;
  flex-wrap: wrap;
  gap: 6px;
}
.client-tag[data-v-0716132d] {
  background-color: #e8f5e8;
  color: #28a745;
  border-radius: 12px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid #d4edda;
}
.client-tag.positive-correlation[data-v-0716132d] {
  background-color: #e8f5e8;
  color: #28a745;
  border-color: #d4edda;
}
.client-tag.negative-correlation[data-v-0716132d] {
  background-color: #f8d7da;
  color: #dc3545;
  border-color: #f5c6cb;
}


/* 响应式设计 */
@media (max-width: 768px) {
.clients-grid[data-v-0716132d] {
    grid-template-columns: 1fr;
}
.component-header[data-v-0716132d] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
}

/* 自定义滚动条样式 */
.ent-expansion-view[data-v-0716132d] {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}
.ent-expansion-view[data-v-0716132d]::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}
.ent-expansion-view[data-v-0716132d]:hover {
  scrollbar-width: thin; /* Firefox */
  -ms-overflow-style: auto; /* IE and Edge */
}
.ent-expansion-view[data-v-0716132d]:hover::-webkit-scrollbar {
  display: block; /* Chrome, Safari, Opera */
  width: 4px;
  height: 4px;
}
.ent-expansion-view[data-v-0716132d]:hover::-webkit-scrollbar-track {
  background: transparent;
}
.ent-expansion-view[data-v-0716132d]:hover::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}
.ent-expansion-view[data-v-0716132d]:hover::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

/* 精简分页样式 */
.pagination-footer[data-v-0716132d] {
  background-color: #f8f9fa;
  border-top: 1px solid #e9ecef;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.pagination-footer.minimal[data-v-0716132d] {
  background: #fafafa;
  border-top: 1px solid #e9ecef;
  padding: 10px 12px;
}
.mini-pager[data-v-0716132d] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.mini-btn[data-v-0716132d] {
  padding: 4px 10px;
  border: 1px solid #dee2e6;
  background: white;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
}
.mini-btn[data-v-0716132d]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.mini-info[data-v-0716132d] {
  font-size: 12px;
  color: #6c757d;
}


/* 特征分析列表样式 - 复用客户列表样式 */
.features-list[data-v-0716132d] {
  display: flex;
  flex-direction: column;
}

/* Contact Selection Styles - 与 Agents.vue 像素级一致 */
.contact-selection[data-v-0716132d] {
  margin-top: 12px;
  padding: 12px;
  background-color: #f8f9fa;
  border: 1px solid #e3f2fd;
  border-radius: 6px;
  position: relative;
  overflow: visible;
}
.contact-selection-title[data-v-0716132d] {
  font-size: 13px;
  font-weight: 600;
  color: #1976d2;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.contact-title-icon[data-v-0716132d] {
  color: #1976d2;
}
.contact-count[data-v-0716132d] {
  font-size: 12px;
  color: #888;
}
.contact-select-all-btn[data-v-0716132d] {
  margin-left: auto;
  padding: 4px 8px;
  font-size: 12px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  transition: all 0.2s;
}
.contact-select-all-btn[data-v-0716132d]:hover {
  border-color: #1890ff;
  color: #1890ff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.contact-selection-controls[data-v-0716132d] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.contact-dropdown-group[data-v-0716132d] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contact-label[data-v-0716132d] {
  font-size: 12px;
  font-weight: 500;
  color: #555;
}
.contact-loading[data-v-0716132d] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 13px;
  color: #6c757d;
  padding: 20px;
  background: linear-gradient(135deg, #f1f3f4 0%, #e8eaed 100%);
  border-radius: 8px;
  margin-top: 8px;
  border: 1px solid #dee2e6;
}
.loading-spinner-small[data-v-0716132d] {
  width: 18px;
  height: 18px;
  border: 2px solid #f3f3f3;
  border-top: 2px solid #1976d2;
  border-radius: 50%;
  animation: spin-0716132d 1s linear infinite;
}
.no-contacts[data-v-0716132d] {
  padding: 4px;
  text-align: center;
  /* background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%); */
  border-radius: 8px;
  margin-top: 8px;
  /* border: 1px solid #ffeaa7; */
  border: solid 1px #ddd;
  background: #eee;
}
.no-contacts-text[data-v-0716132d] {
  font-size: 13px;
  color: #856404;
  font-weight: 500;
}

/* 自定义下拉单样式 - 与 Agents.vue 像素级一致 */
.custom-dropdown[data-v-0716132d] {
  position: relative;
  width: 100%;
}
.dropdown-trigger[data-v-0716132d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: white;
  cursor: pointer;
  transition: border-color 0.2s ease;
  min-height: 32px;
}
.dropdown-trigger[data-v-0716132d]:has(.selected-contact-card) {
  min-height: 36px; /* 单个 chip 的大致高度 */
  align-items: flex-start;
  padding-top: 6px;
  padding-bottom: 6px;
}
.dropdown-trigger[data-v-0716132d]:hover {
  border-color: #1976d2;
}
.dropdown-trigger[data-v-0716132d]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}
.selected-contact-card[data-v-0716132d] {
  flex: 1;
  text-align: left;
  min-height: 60px;
  display: flex;
  align-items: center;
  position: relative;
}
.selected-contacts-list[data-v-0716132d] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.selected-contact-item[data-v-0716132d] {
  position: relative;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f9fafb;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.item-remove[data-v-0716132d] {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ef4444;
  color: #fff;
  border: 2px solid #fff;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  z-index: 1;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}
.item-remove[data-v-0716132d]:hover {
  background: #dc2626;
}
.placeholder[data-v-0716132d] {
  font-size: 12px;
  color: #333;
  flex: 1;
  text-align: left;
}
.dropdown-arrow[data-v-0716132d] {
  color: #666;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.custom-dropdown.open .dropdown-arrow[data-v-0716132d] {
  transform: rotate(180deg);
}
.dropdown-menu[data-v-0716132d] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  max-height: 300px;
  overflow-y: auto;
  margin-top: 2px;
}
.dropdown-option[data-v-0716132d] {
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
  padding-right: 40px; /* 为右上角的统计徽章留出空间 */
  position: relative;
}
.dropdown-option[data-v-0716132d]:last-child {
  border-bottom: none;
}
.dropdown-option[data-v-0716132d]:hover {
  background-color: #f5f5f5;
}
.dropdown-option.selected[data-v-0716132d] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.contact-option-content[data-v-0716132d] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contact-line[data-v-0716132d] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  line-height: 1.3;
}
.contact-icon[data-v-0716132d] {
  flex-shrink: 0;
  color: #666;
  margin-top: 1px;
}
.contact-name-line[data-v-0716132d] {
  font-weight: 500;
  color: #333;
}
.contact-position-line[data-v-0716132d] {
  color: #666;
  font-style: italic;
}
.contact-location-line[data-v-0716132d] {
  color: #999;
  font-size: 11px;
}
.contact-email-line[data-v-0716132d] {
  color: #1976d2;
  font-weight: 500;
}
.clear-btn[data-v-0716132d] {
  align-self: flex-end;
  margin-top: -18px;
  background: transparent;
  color: #1976d2;
  border: none;
  cursor: pointer;
  font-size: 12px;
  padding: 0;
}
.clear-btn[data-v-0716132d]:hover {
  text-decoration: underline;
}
.contact-stats-badge[data-v-0716132d] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #1976d2;
  color: white;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  min-width: 20px;
  text-align: center;
}

/* 响应式设计 */
@media (max-width: 768px) {
.features-pagination-section[data-v-0716132d] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.features-pagination-section .pagination-controls[data-v-0716132d] {
    justify-content: space-between;
}
.features-pagination-section .page-numbers[data-v-0716132d] {
    display: none;
}
.feature-chart[data-v-0716132d] {
    height: 250px;
}
.feature-metrics[data-v-0716132d] {
    flex-direction: column;
    gap: 8px;
}
.contact-selection[data-v-0716132d] {
    padding: 8px;
}
.contact-details[data-v-0716132d] {
    margin-left: 4px;
}
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/EmailSearch.vue?vue&type=style&index=0&id=af9b241e&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.email-search-container[data-v-af9b241e] {
  position: relative;
  width: 100%;
  max-width: 600px;
}

/* 搜索框样式 */
.search-box[data-v-af9b241e] {
  display: flex;
  align-items: center;
}
.search-input-wrapper[data-v-af9b241e] {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  background: #f8f9fa;
  border: 1px solid #e1e4e8;
  border-radius: 20px;
  padding: 0 12px;
  transition: all 0.2s ease;
}
.search-input-wrapper[data-v-af9b241e]:focus-within {
  background: white;
  border-color: #0366d6;
  box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.1);
}
.search-icon[data-v-af9b241e] {
  color: #6a737d;
  margin-right: 8px;
  flex-shrink: 0;
}
.search-input[data-v-af9b241e] {
  flex: 1;
  border: none;
  background: transparent;
  padding: 8px 0;
  font-size: 14px;
  color: #24292e;
  outline: none;
}
.search-input[data-v-af9b241e]::-moz-placeholder {
  color: #6a737d;
}
.search-input[data-v-af9b241e]::placeholder {
  color: #6a737d;
}
.clear-btn[data-v-af9b241e] {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #6a737d;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.clear-btn[data-v-af9b241e]:hover {
  background: #e1e4e8;
  color: #24292e;
}

/* 嵌入式高级搜索按钮样式 */
.advanced-search-btn-embedded[data-v-af9b241e] {
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  color: #6a737d;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  margin-left: 4px;
}
.advanced-search-btn-embedded[data-v-af9b241e]:hover {
  background: #e1e4e8;
  color: #24292e;
}
.advanced-search-btn-embedded.active[data-v-af9b241e] {
  background: #0366d6;
  color: white;
}

/* 高级搜索面板样式 */
.advanced-search-panel[data-v-af9b241e] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 1000;
  margin-top: 8px;
  width: 100%;
  min-width: 400px;
}
.panel-header[data-v-af9b241e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e1e4e8;
  background: #f8f9fa;
}
.panel-title[data-v-af9b241e] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #24292e;
}
.close-btn[data-v-af9b241e] {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #6a737d;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.close-btn[data-v-af9b241e]:hover {
  background: #e1e4e8;
  color: #24292e;
}
.panel-content[data-v-af9b241e] {
  padding: 16px 20px;
}
.search-group[data-v-af9b241e] {
  margin-bottom: 16px;
}
.group-label[data-v-af9b241e] {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #24292e;
  margin-bottom: 8px;
}
.search-field[data-v-af9b241e] {
  width: calc(100% - 24px);
  padding: 8px 12px;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  font-size: 14px;
  color: #24292e;
  background: white;
  transition: border-color 0.2s ease;
}
.search-field[data-v-af9b241e]:focus {
  outline: none;
  border-color: #0366d6;
  box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.1);
}
.search-field[data-v-af9b241e]::-moz-placeholder {
  color: #6a737d;
}
.search-field[data-v-af9b241e]::placeholder {
  color: #6a737d;
}
.search-field[readonly][data-v-af9b241e] {
  background: #f8f9fa;
  cursor: pointer;
}

/* 复选框样式 */
.search-options[data-v-af9b241e] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.checkbox-option[data-v-af9b241e] {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
  color: #24292e;
}
.checkbox-option input[type="checkbox"][data-v-af9b241e] {
  display: none;
}
.checkmark[data-v-af9b241e] {
  width: 16px;
  height: 16px;
  border: 2px solid #e1e4e8;
  border-radius: 3px;
  margin-right: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.checkbox-option input[type="checkbox"]:checked + .checkmark[data-v-af9b241e] {
  background: #0366d6;
  border-color: #0366d6;
}
.checkbox-option input[type="checkbox"]:checked + .checkmark[data-v-af9b241e]::after {
  content: '✓';
  color: white;
  font-size: 12px;
  font-weight: bold;
}

/* 单选框样式 */
.read-status-options[data-v-af9b241e] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.radio-option[data-v-af9b241e] {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
  color: #24292e;
}
.radio-option input[type="radio"][data-v-af9b241e] {
  display: none;
}
.radio-mark[data-v-af9b241e] {
  width: 16px;
  height: 16px;
  border: 2px solid #e1e4e8;
  border-radius: 50%;
  margin-right: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.radio-option input[type="radio"]:checked + .radio-mark[data-v-af9b241e] {
  border-color: #0366d6;
}
.radio-option input[type="radio"]:checked + .radio-mark[data-v-af9b241e]::after {
  content: '';
  width: 8px;
  height: 8px;
  background: #0366d6;
  border-radius: 50%;
}

/* 时间选择器样式 */
.time-range-select[data-v-af9b241e] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  font-size: 14px;
  color: #24292e;
  background: white;
  cursor: pointer;
}
.custom-time-range[data-v-af9b241e] {
  margin-top: 12px;
}
.date-inputs[data-v-af9b241e] {
  display: flex;
  gap: 16px;
}
.date-input-group[data-v-af9b241e] {
  flex: 1;
}
.date-label[data-v-af9b241e] {
  display: block;
  font-size: 12px;
  color: #6a737d;
  margin-bottom: 4px;
}
.date-input[data-v-af9b241e] {
  width: calc(100% - 24px);
  padding: 8px 12px;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  font-size: 14px;
  color: #24292e;
  background: white;
}

/* 文件夹选择器样式 */
.folder-selector[data-v-af9b241e] {
  position: relative;
}
.folder-dropdown-btn[data-v-af9b241e] {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #6a737d;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.folder-dropdown-btn[data-v-af9b241e]:hover {
  background: #e1e4e8;
  color: #24292e;
}
.folder-dropdown[data-v-af9b241e] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 1001;
  margin-top: 4px;
  max-height: 200px;
  overflow-y: auto;
}
.folder-option[data-v-af9b241e] {
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
  color: #24292e;
  border-bottom: 1px solid #f6f8fa;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.folder-option[data-v-af9b241e]:last-child {
  border-bottom: none;
}
.folder-option[data-v-af9b241e]:hover {
  background: #f6f8fa;
}

/* 面板底部按钮样式 */
.panel-footer[data-v-af9b241e] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #e1e4e8;
  background: #f8f9fa;
}
.search-btn[data-v-af9b241e] {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #0366d6;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.search-btn[data-v-af9b241e]:hover {
  background: #0256cc;
}
.reset-btn[data-v-af9b241e] {
  background: #f8f9fa;
  color: #24292e;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.reset-btn[data-v-af9b241e]:hover {
  background: #e1e4e8;
  border-color: #d0d7de;
}

/* 响应式设计 */
@media (max-width: 768px) {
.advanced-search-panel[data-v-af9b241e] {
    left: -20px;
    right: -20px;
}
.date-inputs[data-v-af9b241e] {
    flex-direction: column;
    gap: 12px;
}
.search-options[data-v-af9b241e],
  .read-status-options[data-v-af9b241e] {
    flex-direction: column;
    gap: 8px;
}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/HtmlEditor.vue?vue&type=style&index=0&id=885f71b0&lang=scss&scoped=true ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.email-editor[data-v-885f71b0] {
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  display: flex;
  flex-direction: column;
}
.email-editor .editor-toolbar[data-v-885f71b0] {
  display: flex;
  padding: 8px;
  border-bottom: 1px solid #dcdfe6;
  background: #f5f7fa;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.email-editor .editor-toolbar .toolbar-group[data-v-885f71b0] {
  display: flex;
  align-items: center;
}
.email-editor .editor-toolbar .toolbar-divider[data-v-885f71b0] {
  width: 1px;
  height: 24px;
  background: #dcdfe6;
  margin: 0 8px;
}
.email-editor .editor-toolbar .el-button[data-v-885f71b0] {
  padding: 6px 8px;
}
.email-editor .editor-toolbar .el-button.active[data-v-885f71b0] {
  background: #e6f4ff;
  color: #1890ff;
}
.email-editor .editor-container[data-v-885f71b0] {
  height: calc(100% - 400px);
  min-height: 400px;
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.email-editor .editor-container .content-editor[data-v-885f71b0] {
  padding: 16px;
  flex: 1;
  overflow: auto;
}
.email-editor .editor-container .content-editor .ProseMirror[data-v-885f71b0] {
  min-height: 368px;
  outline: none;
  height: 100%;
}
.email-editor .editor-container .content-editor .ProseMirror[data-v-885f71b0] > * + * {
  margin-top: 0.75em;
}
.email-editor .editor-container .content-editor .ProseMirror ul[data-v-885f71b0], .email-editor .editor-container .content-editor .ProseMirror ol[data-v-885f71b0] {
  padding: 0 1rem;
}
.email-editor .editor-container .content-editor .ProseMirror h1[data-v-885f71b0], .email-editor .editor-container .content-editor .ProseMirror h2[data-v-885f71b0], .email-editor .editor-container .content-editor .ProseMirror h3[data-v-885f71b0], .email-editor .editor-container .content-editor .ProseMirror h4[data-v-885f71b0], .email-editor .editor-container .content-editor .ProseMirror h5[data-v-885f71b0], .email-editor .editor-container .content-editor .ProseMirror h6[data-v-885f71b0] {
  line-height: 1.1;
}
.email-editor .editor-container .source-editor[data-v-885f71b0] {
  flex: 1;
  position: relative;
}
.email-editor .editor-container .source-editor[data-v-885f71b0] .cm-editor {
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
}
.email-editor .editor-container .preview-container[data-v-885f71b0] {
  flex: 1;
  overflow: auto;
  background: #fff;
}
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/HtmlEditor.vue?vue&type=style&index=1&id=885f71b0&lang=scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* 替换原来的 .ProseMirror 相关样式为 Quill 的样式 */
.ql-editor {
  min-height: 368px;
  height: 100%;
  font-size: inherit;
  line-height: 1.5;
  padding: 0 !important; /* 覆盖 Quill 默认内边距 */
}
.ql-editor > * {
  margin: 0;
  line-height: inherit;
}
.ql-editor > * + * {
  margin-top: 0.75em;
}
.ql-editor ul, .ql-editor ol {
  padding: 0 1rem;
}
.ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
  line-height: 1.1;
  margin: 0;
}
.ql-editor p {
  margin: 0;
}

/* 限制图片和表格宽度的通用样式 - 这些样式会应用到所有邮件内容中 */
/* 大型图片限制 */
.ql-editor img[src*="06f6cf80f60f5dbf874dec3c19532492"],
.preview-container img[src*="06f6cf80f60f5dbf874dec3c19532492"],
.email-content-wrapper img[src*="06f6cf80f60f5dbf874dec3c19532492"] {
  max-width: 640px !important;
  height: auto !important;
  width: auto !important;
}

/* Logo和小图片 */
.ql-editor img:not([src*="06f6cf80f60f5dbf874dec3c19532492"]),
.preview-container img:not([src*="06f6cf80f60f5dbf874dec3c19532492"]),
.email-content-wrapper img:not([src*="06f6cf80f60f5dbf874dec3c19532492"]) {
  max-width: 100% !important;
  height: auto !important;
}
.ql-editor table,
.preview-container table,
.email-content-wrapper table {
  max-width: 640px !important;
  width: auto !important;
  table-layout: auto;
}

/* 隐藏 Quill 默认的工具栏 */
.ql-toolbar {
  display: none;
}

/* 移除 Quill 编辑器的边框 */
.ql-container {
  border: none !important;
}
.cm-editor {
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
}
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/email/templates/TemplateList.vue?vue&type=style&index=0&id=ae75ea5e&lang=scss&scoped=true ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
[data-v-ae75ea5e] .el-dialog__body {
  height: calc(100% - 100px);
  overflow-y: hidden;
}
.template-list[data-v-ae75ea5e] {
  background-color: #fff;
  padding: 20px;
  border-radius: 4px;
}
.page-header[data-v-ae75ea5e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.page-header .title[data-v-ae75ea5e] {
  font-size: 20px;
}
.header-buttons[data-v-ae75ea5e] {
  display: flex;
  gap: 10px;
}
[data-v-ae75ea5e] .el-dialog__body {
  padding-top: 20px;
}
.pagination-container[data-v-ae75ea5e] {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
}
.search-bar[data-v-ae75ea5e] {
  margin-bottom: 20px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.select-hint[data-v-ae75ea5e] {
  font-size: 12px;
  color: #909399;
  margin-top: 4px;
  line-height: 1.2;
}

/* 操作按钮单行展示 */
.action-buttons[data-v-ae75ea5e] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* 预览弹窗样式（参考 CampaignDetail.vue 的预览区） */
.preview-card[data-v-ae75ea5e] .el-card__header {
  font-weight: 600;
  padding: 12px 16px;
  border-bottom: 1px solid #ebeef5;
}
.template-preview[data-v-ae75ea5e] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.template-preview .preview-item[data-v-ae75ea5e] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.template-preview .preview-item .label[data-v-ae75ea5e] {
  color: #909399;
  width: 80px;
  flex-shrink: 0;
}
.template-preview .preview-item .value[data-v-ae75ea5e] {
  color: #303133;
  font-weight: 500;
}
.template-preview .preview-content[data-v-ae75ea5e] {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 12px;
  background: #fff;
  max-height: 60vh;
  overflow: auto;
}
.template-preview .content-preview[data-v-ae75ea5e] {
  line-height: 1.6;
}
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/EmailAssistant.vue?vue&type=style&index=0&id=02e7465c&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.content-container[data-v-02e7465c] {
  height: 100%;
  width: 100%;
  background-color: #fff;
  overflow: hidden;
}
.content-wrapper[data-v-02e7465c] {
  width: 100%;
  background-color: #f8f8f8;
  height: 100%;
  padding: 0 !important;
}
.page-layout[data-v-02e7465c] {
  display: flex;
  align-items: stretch;
  height: 100%;
  position: relative;
}
.left-panel[data-v-02e7465c],
.right-panel[data-v-02e7465c] {
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}
.left-panel[data-v-02e7465c] {
  flex: 1; /* 🚀 左侧面板自适应占满剩余空间 */
  position: relative;
}
.right-panel[data-v-02e7465c] {
  flex: 0 0 auto; /* 🚀 右侧面板固定宽度，不自动伸缩 */
  min-width: 320px;
  /* transition: all 0.3s ease; */
  position: relative;
  width: var(--panel-width, 320px); /* 🚀 使用CSS变量控制宽度 */
}
.right-panel.collapsed[data-v-02e7465c] {
  position: fixed;
  top: 64px; /* 避开顶部导航栏 */
  right: var(--panel-offset, -320px); /* 🚀 使用CSS变量控制隐藏位置 */
  width: var(--panel-width, 320px); /* 🚀 使用CSS变量控制宽度 */
  min-width: 320px;
  height: 100%;
  z-index: 999;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  transition: right 0.3s ease; /* 🚀 悬浮状态展开/收起动画 */
}
.right-panel-content[data-v-02e7465c] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
  position: relative;
  transition: all 0.3s ease;
  background: #f8f9fa;
  border-left: 1px solid #e1e4e8;
}
.right-panel.collapsed .right-panel-content[data-v-02e7465c] {
  display: flex; /* 保持显示，因为现在是悬浮状态 */
  overflow: visible;
}

/* 统一的左侧箭头按钮 */
.unified-arrow-button[data-v-02e7465c] {
  position: absolute;
  left: 0px;
  bottom: 120px;
  width: 12px;
  height: 60px;
  background: white;
  border: 1px solid #d0d0d0;
  border-left: none;
  border-radius: 0 4px 4px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
  transition: all 0.3s ease;
  color: #999;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* 折叠状态：按钮固定在面板左侧，随着面板移动 */
.right-panel.collapsed .unified-arrow-button[data-v-02e7465c] {
  position: absolute;
  left: -12px; /* 固定在面板左侧 */
  bottom: 120px; /* 与正常状态相同的位置 */
  width: 12px;
  height: 60px;
  background: white;
  border: 1px solid #d0d0d0;
  border-right: none;
  border-radius: 4px 0 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
  transition: all 0.3s ease;
  color: #999;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* 悬浮状态：当鼠标悬停在按钮上时，面板向左滑动 */
.right-panel.collapsed .unified-arrow-button[data-v-02e7465c]:hover {
  background: #f8f8f8;
  border-color: #bbb;
  color: #666;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
.right-panel.collapsed[data-v-02e7465c]:hover {
  right: 0px !important; /* 🚀 悬停时滑动到可见位置，使用!important确保覆盖CSS变量 */
}
.unified-arrow-button[data-v-02e7465c]:hover {
  background: #f8f8f8;
  border-color: #bbb;
  color: #666;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

/* 🚀 禁用状态：窗口宽度过小时 */
.unified-arrow-button.disabled[data-v-02e7465c] {
  cursor: default !important;  /* 默认鼠标样式，不显示手指也不显示禁止标志 */
  opacity: 0.4;
  background: #f0f0f0 !important;
  color: #ccc !important;
  /* 不使用 pointer-events: none，保留鼠标悬停交互（如tooltip），点击和悬浮展开功能由 JS 控制禁用 */
}
.unified-arrow-button.disabled[data-v-02e7465c]:hover {
  background: #f0f0f0 !important;
  border-color: #d0d0d0 !important;
  color: #ccc !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}
.button-content[data-v-02e7465c] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.unified-arrow-button svg[data-v-02e7465c] {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
  color: #999;
}
.unified-arrow-button:hover svg[data-v-02e7465c] {
  color: #666;
}
.right-panel-content[data-v-02e7465c] > * {
  transition: height 0.3s ease;
  overflow: hidden;
  min-height: 0;
}

/* 询价模式下的右侧面板布局 */
.right-panel-inquiry[data-v-02e7465c] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  position: relative; /* 确保按钮可以正确定位 */
}
.agents-section[data-v-02e7465c] {
  flex: 0 0 auto;
  max-height: 50%;
  overflow-y: auto;
  border-bottom: 1px solid #e0e0e0;
  background: #fff;
}
.resources-section[data-v-02e7465c] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
}
.resources-section[data-v-02e7465c] > * {
  transition: height 0.3s ease;
  overflow: hidden;
  min-height: 0;
}
.mailbox-header[data-v-02e7465c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #e0e0e0;
  gap: 16px;
}
.header-left[data-v-02e7465c] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.refresh-btn[data-v-02e7465c] {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #666;
  flex-shrink: 0;
}
.refresh-btn[data-v-02e7465c]:hover {
  background-color: #f5f5f5;
  color: #333;
}
.refresh-btn[data-v-02e7465c]:active {
  background-color: #e9e9e9;
  transform: scale(0.95);
}
.refresh-icon[data-v-02e7465c] {
  transition: transform 0.3s ease;
}
.refresh-btn:hover .refresh-icon[data-v-02e7465c] {
  transform: rotate(180deg);
}
.refresh-icon.spinning[data-v-02e7465c] {
  animation: spin-02e7465c 1s linear infinite;
}
@keyframes spin-02e7465c {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.refresh-btn[data-v-02e7465c]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.refresh-btn[data-v-02e7465c]:disabled:hover {
  background-color: #f5f5f5;
  transform: none;
}
.panel-title[data-v-02e7465c] {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 8px;
}
.panel-title .title-icon[data-v-02e7465c] {
  color: #333 !important;
  flex-shrink: 0;
}
.header-buttons[data-v-02e7465c] {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}
.new-email-btn[data-v-02e7465c] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #1976d2;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.new-email-btn[data-v-02e7465c]:hover {
  background-color: #1565c0;
}
.resizer[data-v-02e7465c] {
  position: absolute;
  z-index: 100;
  background-color: #e0e0e0;
  transition: background-color 0.2s;
}
.vertical-resizer[data-v-02e7465c] {
  width: 2px;
  height: 100%;
  cursor: col-resize;
  top: 0;
  background-color: #d0d0d0;
  border: none;
  transition: opacity 0.3s ease;
  margin: 0;
  padding: 0;
}
.right-panel.collapsed[data-v-02e7465c] {
  border-left: none;
}

/* 分割线过渡效果 */
.vertical-resizer[data-v-02e7465c] {
  transition: opacity 0.3s ease;
}
.resizer[data-v-02e7465c]:hover,
.resizer[data-v-02e7465c]:active {
  background-color: #1976d2;
}

/* 媒体查询，适配小屏幕 */
@media (max-width: 1200px) {
  /* .right-panel, */
.left-panel[data-v-02e7465c] {
    width: 100% !important;
    /* margin-bottom: 16px; */
    height: auto;
    min-height: 400px;
}
  
  /* .vertical-resizer {
    display: none;
  } */
}

/* 草稿预览样式 */
.draft-preview-container[data-v-02e7465c] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: white;
}
.draft-preview-header[data-v-02e7465c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid #e0e0e0;
  background: #fafafa;
}
.draft-title[data-v-02e7465c] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  color: #333;
}
.draft-title svg[data-v-02e7465c] {
  color: #666;
}
.back-to-agents-btn[data-v-02e7465c] {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f5f5f5;
  color: #666;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.back-to-agents-btn[data-v-02e7465c]:hover {
  background: #e9e9e9;
  color: #333;
  border-color: #bbb;
}
.draft-preview-content[data-v-02e7465c] {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* 自定义草稿预览样式 */
.custom-draft-preview[data-v-02e7465c] {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  background: white;
}
.draft-email-header[data-v-02e7465c] {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e0e0e0;
}
.email-subject[data-v-02e7465c] {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 12px;
  color: #333;
}
.email-recipients[data-v-02e7465c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.recipient-row[data-v-02e7465c] {
  display: flex;
  align-items: flex-start;
  font-size: 14px;
}
.recipient-label[data-v-02e7465c] {
  min-width: 80px;
  color: #666;
  font-weight: 500;
}
.recipient-value[data-v-02e7465c] {
  flex: 1;
  color: #333;
  word-break: break-all;
}
.email-body-preview[data-v-02e7465c] {
  flex: 1;
}
.body-label[data-v-02e7465c] {
  font-size: 14px;
  font-weight: 500;
  color: #666;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.email-html-content[data-v-02e7465c],
.email-text-content[data-v-02e7465c] {
  background: #fafafa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 16px;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  max-height: 400px;
  overflow-y: auto;
}
.email-text-content[data-v-02e7465c] {
  white-space: pre-wrap;
  font-family: 'Courier New', monospace;
}
.email-html-content[data-v-02e7465c] {
  font-family: inherit;
}
.email-empty-content[data-v-02e7465c] {
  text-align: center;
  color: #999;
  font-style: italic;
  padding: 40px 20px;
}
.no-draft-selected[data-v-02e7465c] {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: #999;
  font-size: 16px;
}
.mail-detail-content[data-v-02e7465c] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mail-detail-header[data-v-02e7465c] {
  padding: 16px;
  border-bottom: 1px solid #eaecef;
}
.mail-detail-subject[data-v-02e7465c] {
  font-size: 18px;
  font-weight: 600;
  color: #24292e;
  margin-bottom: 16px;
  line-height: 1.3;
}
.mail-detail-info[data-v-02e7465c] { margin-bottom: 8px;
}
.mail-info-wrapper[data-v-02e7465c] { display: flex; justify-content: space-between; align-items: flex-start;
}
.mail-info-left[data-v-02e7465c] { display: flex;
}
.sender-avatar[data-v-02e7465c] { width: 40px; height: 40px; background: #e1f0fe; color: #0366d6; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 600; margin-right: 12px;
}
.mail-date[data-v-02e7465c] { color: #6a737d; font-size: 12px;
}
.recipient-label[data-v-02e7465c] { color: #6a737d; margin-right: 6px;
}
.email-body[data-v-02e7465c] { padding: 16px;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntClientList.vue?vue&type=style&index=0&id=4fde3430&scoped=true&lang=css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.ent-client-list[data-v-4fde3430] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: white;
  overflow: hidden;
  border-top: solid 1px #ccc;
}

/* 组件头部样式 */
.component-header[data-v-4fde3430] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  background: #fafafa;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-title[data-v-4fde3430] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title svg[data-v-4fde3430] {
  color: #444;
}
.selection-count[data-v-4fde3430] {
  font-size: 14px;
  color: #1976d2;
  font-weight: 500;
}
.select-all-section[data-v-4fde3430] {
  display: flex;
  align-items: center;
}
.select-all-label[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #495057;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.select-all-checkbox[data-v-4fde3430] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* 组件内容样式 */
.component-content[data-v-4fde3430] {
  flex: 1;
  overflow-y: auto; /* 恢复纵向滚动 */
}
.clients-list[data-v-4fde3430] {
  display: flex;
  flex-direction: column;
}
.loading-clients[data-v-4fde3430],
.empty-clients[data-v-4fde3430] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #6c757d;
  text-align: center;
}
.loading-spinner[data-v-4fde3430] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-4fde3430 1s linear infinite;
}
@keyframes spin-4fde3430 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.clients-grid[data-v-4fde3430] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
.clients-grid-column[data-v-4fde3430] {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 企业卡片样式 */

/* 仿 Agents 列表卡片风格 */
.clients-grid-column .client-card[data-v-4fde3430] {
  border-bottom: 1px solid #e0e0e0;
  background: white;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.clients-grid-column .client-card[data-v-4fde3430]:hover {
  background-color: #f8f8f8;
}
.clients-grid-column .client-card.selected[data-v-4fde3430] {
  background-color: #f1f8e9;
}

/* 右上角拓展标签 */
.expansion-tag[data-v-4fde3430] {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 4px 8px;
  background-color: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.expansion-tag[data-v-4fde3430]:hover {
  background-color: #e9ecef;
  color: #495057;
}
.expansion-tag.active[data-v-4fde3430] {
  background-color: #28a745;
  color: white;
  border-color: #28a745;
}
.expansion-tag.active[data-v-4fde3430]:hover {
  background-color: #218838;
  border-color: #218838;
}
.clients-grid-column .client-card-selection[data-v-4fde3430] {
  width: 6px;
  height: 100%;
  background-color: transparent;
  position: absolute;
  left: 0;
  top: 0;
  transition: background-color 0.2s;
}
.clients-grid-column .client-card-selection.selected[data-v-4fde3430] {
  background-color: #2e7d32;
}
.clients-grid-column .client-card-content[data-v-4fde3430] {
  padding: 16px;
  margin-left: 4px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.clients-grid-column .client-card-header[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.clients-grid-column .client-logo[data-v-4fde3430] {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background-color: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid #e9ecef;
}
.clients-grid-column .client-info[data-v-4fde3430] {
  flex: 1;
  min-width: 0;
}
.clients-grid-column .client-name[data-v-4fde3430] {
  font-size: 16px;
  font-weight: 600;
  color: #212529;
  margin-bottom: 4px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.clients-grid-column .client-industry[data-v-4fde3430] {
  font-size: 12px;
  color: #6c757d;
  font-weight: 500;
}
.clients-grid-column .client-stats[data-v-4fde3430] {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 8px 0;
}
.clients-grid-column .client-stats .stat-item[data-v-4fde3430] {
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: center;
}
.clients-grid-column .client-tags[data-v-4fde3430] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.clients-grid-column .client-tag[data-v-4fde3430] {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
}
.clients-grid-column .stage-tag[data-v-4fde3430] {
  background-color: #f3e5f5;
  color: #7b1fa2;
  border: 1px solid #e1bee7;
}
.clients-grid-column .status-tag[data-v-4fde3430] {
  background-color: #e8f5e8;
  color: #2e7d32;
  border: 1px solid #c8e6c9;
}
.clients-grid-column .industry-tag[data-v-4fde3430] {
  background-color: #f5f5f5;
  color: #666;
  border: 1px solid #e0e0e0;
}
.clients-grid-column .client-location[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6c757d;
}
.clients-grid-column .client-location .location-icon[data-v-4fde3430] {
  color: #adb5bd;
}
.clients-grid-column .client-location .location-text[data-v-4fde3430] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 企业分类信息样式 */
.clients-grid-column .client-classifications[data-v-4fde3430] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.clients-grid-column .classification-item[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
}
.clients-grid-column .classification-label[data-v-4fde3430] {
  color: #6c757d;
  font-weight: 500;
  min-width: 32px;
}
.clients-grid-column .classification-value[data-v-4fde3430] {
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 8px;
  font-size: 10px;
}
.clients-grid-column .type-value[data-v-4fde3430] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.clients-grid-column .stage-value[data-v-4fde3430] {
  background-color: #f3e5f5;
  color: #7b1fa2;
}
.clients-grid-column .status-value[data-v-4fde3430] {
  background-color: #e8f5e8;
  color: #2e7d32;
}
.clients-grid-column .scale-value[data-v-4fde3430] {
  background-color: #fff3e0;
  color: #f57c00;
}
.clients-grid-column .value-value[data-v-4fde3430] {
  background-color: transparent;
  color: #c2185b;
  font-size: 12px;
  font-weight: 600;
}
.clients-grid-column .industry-value[data-v-4fde3430] {
  background-color: #e8f5e8;
  color: #388e3c;
}

/* 表格中的分类标签样式 */
.classification-badge[data-v-4fde3430] {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  text-align: center;
  min-width: 50px;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}
.classification-badge[data-v-4fde3430]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.type-badge[data-v-4fde3430] {
  background: #e3f2fd;
  color: #1976d2;
  border: 1px solid #bbdefb;
}
.stage-badge[data-v-4fde3430] {
  background: #f3e5f5;
  color: #7b1fa2;
  border: 1px solid #e1bee7;
}
.status-badge[data-v-4fde3430] {
  background: #e8f5e8;
  color: #2e7d32;
  border: 1px solid #c8e6c9;
}
.scale-badge[data-v-4fde3430] {
  background: #fff3e0;
  color: #f57c00;
  border: 1px solid #ffe0b2;
}
.value-badge[data-v-4fde3430] {
  background: transparent;
  color: #c2185b;
  border: none;
  font-size: 16px;
  font-weight: 600;
}

/* List表格容器 */
.list-container[data-v-4fde3430] {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* List表格视图 */
.list-wrapper[data-v-4fde3430] {
  flex: 1;
  overflow: visible; /* 不设置滚动，让父容器处理 */
}
.list-table[data-v-4fde3430] {
  width: 100%;
  border-collapse: separate; /* 改为 separate 以支持 sticky */
  border-spacing: 0; /* 保持表格边框效果 */
  background-color: white;
}
.list-table thead th[data-v-4fde3430] {
  position: sticky;
  top: 0;
  background: #f8f9fa !important; /* 强制背景色 */
  border-bottom: 2px solid #dee2e6;
  font-size: 12px;
  color: #495057;
  text-align: left;
  padding: 12px 4px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  z-index: 100; /* 提高 z-index */
}
.list-table tbody td[data-v-4fde3430] {
  border-bottom: 1px solid #f1f3f4;
  font-size: 13px;
  color: #333;
  padding: 16px;
  vertical-align: middle;
  transition: all 0.2s ease;
}
.list-table tbody tr[data-v-4fde3430] {
  transition: all 0.2s ease;
}
.list-table tbody tr[data-v-4fde3430]:hover {
  background: #f8f9fa;
}
.list-table tbody tr.selected[data-v-4fde3430] {
  background: #e8f5e8;
  border-left: 4px solid #28a745;
}

/* 状态背景样式 - 提高优先级 */
.list-table tbody tr.row-status-error[data-v-4fde3430] {
  background-color: #fef2f2 !important; /* 非常淡的红色 */
}
.list-table tbody tr.row-status-error[data-v-4fde3430]:hover {
  background-color: #fee2e2 !important; /* 悬停时稍微深一点的红色 */
}
.list-table tbody tr.row-status-warning[data-v-4fde3430] {
  background-color: #f9fafb !important; /* 非常淡的灰色 */
}
.list-table tbody tr.row-status-warning[data-v-4fde3430]:hover {
  background-color: #f3f4f6 !important; /* 悬停时稍微深一点的灰色 */
}
.list-table tbody tr.row-status-success[data-v-4fde3430] {
  background-color: #f0fdf4 !important; /* 非常淡的绿色 */
}
.list-table tbody tr.row-status-success[data-v-4fde3430]:hover {
  background-color: #dcfce7 !important; /* 悬停时稍微深一点的绿色 */
}
.col-select[data-v-4fde3430] {
  width: 30px;
  text-align: center;
}
.col-type[data-v-4fde3430] {
  width: 35px;
  text-align: center;
}
.col-icon[data-v-4fde3430] {
  width: 35px;
  text-align: center;
}
.col-company[data-v-4fde3430] {
  min-width: 350px;
  max-width: 450px;
}
.col-scale[data-v-4fde3430] {
  width: 50px;
  text-align: center;
}
.col-value[data-v-4fde3430] {
  width: 50px;
  text-align: center;
}
.col-industries[data-v-4fde3430] {
  min-width: 100px;
  color: #495057;
}
.col-location[data-v-4fde3430] {
  min-width: 110px;
  color: #495057;
}
.col-updated[data-v-4fde3430] {
  width: 60px;
  text-align: center;
}
.col-actions[data-v-4fde3430] {
  width: 60px;
  text-align: center;
}

/* 表头样式 */
.header-cell[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.header-icon[data-v-4fde3430] {
  color: #6c757d;
  opacity: 0.7;
}
.header-checkbox[data-v-4fde3430] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* 企业信息样式 */
.company-cell[data-v-4fde3430] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.company-info[data-v-4fde3430] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.company-name-row[data-v-4fde3430] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.company-name-container[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.edit-company-btn[data-v-4fde3430] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  border-radius: 4px;
  color: #6b7280;
  cursor: pointer;
  transition: all 0.2s ease;
  opacity: 0;
  transform: scale(0.8);
}
.company-name-container:hover .edit-company-btn[data-v-4fde3430] {
  opacity: 1;
  transform: scale(1);
}
.edit-company-btn[data-v-4fde3430]:hover {
  background-color: #f3f4f6;
  color: #374151;
}
.edit-company-btn[data-v-4fde3430]:active {
  transform: scale(0.95);
}

/* 阶段和状态标签区域 - 业界最佳实践 */
.company-stage-status[data-v-4fde3430] {
  display: flex;
  gap: 8px;
  margin-bottom: 6px;
}
.stage-status-badge[data-v-4fde3430] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  border: 1px solid;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.stage-status-badge[data-v-4fde3430]:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.stage-status-badge.stage-badge[data-v-4fde3430] {
  background: #f8f9fa !important;
  color: #495057 !important;
  border-color: #dee2e6 !important;
}
.stage-status-badge.status-badge[data-v-4fde3430] {
  background: #f8f9fa !important;
  color: #495057 !important;
  border-color: #dee2e6 !important;
}

/* 状态特定颜色 - 更有意义的背景色 */
.stage-status-badge.status-badge[data-status="in_progress"][data-v-4fde3430] {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%) !important;
  color: #1976d2 !important;
  border-color: #90caf9 !important;
}
.stage-status-badge.status-badge[data-status="mismatch"][data-v-4fde3430] {
  background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%) !important;
  color: #d32f2f !important;
  border-color: #ef9a9a !important;
}
.stage-status-badge.status-badge[data-status="postponed"][data-v-4fde3430] {
  background: #f5f5f5 !important;
  color: #666666 !important;
  border-color: #e0e0e0 !important;
}
.stage-status-badge.status-badge[data-status="failed"][data-v-4fde3430] {
  background: linear-gradient(135deg, #fce4ec 0%, #f8bbd9 100%) !important;
  color: #c2185b !important;
  border-color: #f48fb1 !important;
}
.stage-status-badge.status-badge[data-status="signed"][data-v-4fde3430] {
  background: linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%) !important;
  color: #2e7d32 !important;
  border-color: #a5d6a7 !important;
}

/* 阶段特定颜色 - 更有意义的背景色 */
.stage-status-badge.stage-badge[data-stage="prospect"][data-v-4fde3430] {
  background: #e8f5e8 !important;
  color: #2e7d32 !important;
  border-color: #c8e6c9 !important;
}
.stage-status-badge.stage-badge[data-stage="engaged"][data-v-4fde3430] {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%) !important;
  color: #1976d2 !important;
  border-color: #90caf9 !important;
}
.stage-status-badge.stage-badge[data-stage="interested"][data-v-4fde3430] {
  background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%) !important;
  color: #f57c00 !important;
  border-color: #ffcc02 !important;
}
.stage-status-badge.stage-badge[data-stage="signing"][data-v-4fde3430] {
  background: linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%) !important;
  color: #2e7d32 !important;
  border-color: #a5d6a7 !important;
}

/* 默认状态和阶段颜色 - 确保有默认值 */
.stage-status-badge.stage-badge[data-v-4fde3430]:not([data-stage]) {
  background: #e8f5e8 !important;
  color: #2e7d32 !important;
  border-color: #c8e6c9 !important;
}
.stage-status-badge.status-badge[data-v-4fde3430]:not([data-status]) {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%) !important;
  color: #1976d2 !important;
  border-color: #90caf9 !important;
}

/* 强制应用默认颜色 - 如果上面的选择器不工作 */
.stage-status-badge.stage-badge[data-v-4fde3430] {
  background: #e8f5e8 !important;
  color: #2e7d32 !important;
  border-color: #c8e6c9 !important;
}
.stage-status-badge.status-badge[data-v-4fde3430] {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%) !important;
  color: #1976d2 !important;
  border-color: #90caf9 !important;
}

/* Sales Signal 特定颜色 - 参考 EntView 的样式 */
.stage-status-badge.sales-signal-badge[data-sales-signal="立即行动"][data-v-4fde3430] {
  background: linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%) !important;
  color: #2e7d32 !important;
  border-color: #a5d6a7 !important;
}
.stage-status-badge.sales-signal-badge[data-sales-signal="优先跟进"][data-v-4fde3430] {
  background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%) !important;
  color: #f57c00 !important;
  border-color: #ffcc02 !important;
}
.stage-status-badge.sales-signal-badge[data-sales-signal="常规跟进"][data-v-4fde3430] {
  background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%) !important;
  color: #d32f2f !important;
  border-color: #ef9a9a !important;
}

/* Sales Signal 默认颜色 */
.stage-status-badge.sales-signal-badge[data-v-4fde3430] {
  background: #f8f9fa !important;
  color: #495057 !important;
  border-color: #dee2e6 !important;
}
.company-icon-cell[data-v-4fde3430] {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 2px solid #e9ecef;
  overflow: hidden;
  transition: all 0.2s ease;
}
.company-icon-cell[data-v-4fde3430]:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.company-name.link-like[data-v-4fde3430] {
  color: #1565c0;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.3;
  transition: all 0.2s ease;
  pointer-events: auto;
  position: relative;
  z-index: 10;
}
.company-name.link-like[data-v-4fde3430]:hover {
  color: #0d47a1;
  text-decoration: underline;
}
.company-tags[data-v-4fde3430] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.company-tag[data-v-4fde3430] {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  border: 1px solid;
}

/* 类型图标单元格样式 */
.type-icon-cell[data-v-4fde3430] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 8px;
  gap: 4px;
}
.type-icon[data-v-4fde3430] {
  opacity: 0.8;
  transition: all 0.2s ease;
}
.type-icon[data-v-4fde3430]:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* Stage标签在类型icon下面的样式 */
.stage-tag-under-type[data-v-4fde3430] {
  display: flex;
  justify-content: center;
  align-items: center;
}
.stage-tag-under-type .stage-status-badge[data-v-4fde3430] {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 500;
  line-height: 1.2;
}

/* Status标签在公司名称后面的样式 */
.status-tag-after-name[data-v-4fde3430] {
  margin-left: 6px;
  display: inline-flex;
  align-items: center;
}
.status-tag-after-name .stage-status-badge[data-v-4fde3430] {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 500;
  line-height: 1.2;
}

/* Sales Signal标签样式 */
.sales-signal-tag[data-v-4fde3430] {
  margin-left: 6px;
  display: inline-flex;
  align-items: center;
}
.sales-signal-tag .stage-status-badge[data-v-4fde3430] {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 500;
  line-height: 1.2;
}

/* AI推理逻辑样式 */
.ai-reasoning-logic[data-v-4fde3430] {
  margin-top: 4px;
  cursor: help;
}
.ai-reasoning-text[data-v-4fde3430] {
  color: #6c757d;
  word-break: break-word;
  font-size: 11px;
  line-height: 1.5;
  max-height: 51px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* 分类单元格样式 */
.classification-cell[data-v-4fde3430] {
  display: flex;
  justify-content: center;
  align-items: center;
}
.industry-cell[data-v-4fde3430] {
  display: flex;
  align-items: center;
}
.industry-text[data-v-4fde3430] {
  font-size: 13px;
  color: #495057;
  font-weight: 500;
}
.location-cell[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.location-icon[data-v-4fde3430] {
  color: #6c757d;
  opacity: 0.7;
  flex-shrink: 0;
}
.location-text[data-v-4fde3430] {
  font-size: 13px;
  color: #495057;
  font-weight: 500;
}
.updated-cell[data-v-4fde3430] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.updated-text[data-v-4fde3430] {
  font-size: 12px;
  color: #495057;
  font-weight: 500;
  padding: 3px 6px;
  border-radius: 10px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  transition: all 0.2s ease;
}
.updated-text[data-v-4fde3430]:hover {
  background-color: #e9ecef;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* 操作列样式 */
.actions-cell[data-v-4fde3430] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.action-btn[data-v-4fde3430] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: transparent;
  color: #666;
}
.action-btn[data-v-4fde3430]:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background: #f5f5f5;
  color: #333;
  border-color: #ccc;
}
.edit-btn[data-v-4fde3430] {
  color: #666;
}
.edit-btn[data-v-4fde3430]:hover {
  background: #f5f5f5;
  color: #333;
}
.delete-btn[data-v-4fde3430] {
  color: #666;
}
.delete-btn[data-v-4fde3430]:hover {
  background: #f5f5f5;
  color: #333;
}
.stage-tag[data-v-4fde3430] {
  background: #f3e5f5;
  color: #7b1fa2;
  border: 1px solid #e1bee7;
}
.status-tag[data-v-4fde3430] {
  background: #e8f5e8;
  color: #2e7d32;
  border: 1px solid #c8e6c9;
}
.industry-tag[data-v-4fde3430] {
  background: #f5f5f5;
  color: #666;
  border: 1px solid #e0e0e0;
}
.company-icon[data-v-4fde3430] {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background-color: #f0f4ff;
  border: 1px solid #e0e7ff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1366ec;
  flex-shrink: 0;
}
.industry-badges[data-v-4fde3430] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.client-tag[data-v-4fde3430] {
  background-color: #e8f5e8;
  color: #28a745;
  border-radius: 12px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid #d4edda;
}
.client-tag.badge[data-v-4fde3430] {
  background-color: #e8f5e8;
  color: #28a745;
  border-radius: 12px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid #d4edda;
}

/* List滚动条，悬停显示 4px */
.list-wrapper[data-v-4fde3430] {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.list-wrapper[data-v-4fde3430]::-webkit-scrollbar {
  display: none;
}
.list-wrapper[data-v-4fde3430]:hover {
  scrollbar-width: thin;
  -ms-overflow-style: auto;
}
.list-wrapper[data-v-4fde3430]:hover::-webkit-scrollbar {
  display: block;
  width: 4px;
  height: 4px;
}
.list-wrapper[data-v-4fde3430]:hover::-webkit-scrollbar-track {
  background: transparent;
}
.list-wrapper[data-v-4fde3430]:hover::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}
.list-wrapper[data-v-4fde3430]:hover::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

/* 响应式设计 */
@media (max-width: 1200px) {
.col-company[data-v-4fde3430] {
    min-width: 300px;
    max-width: 380px;
}
.col-industries[data-v-4fde3430] {
    min-width: 90px;
}
.col-location[data-v-4fde3430] {
    min-width: 100px;
}
.col-updated[data-v-4fde3430] {
    width: 55px;
}
.col-scale[data-v-4fde3430], .col-value[data-v-4fde3430] {
    width: 45px;
}
}
@media (max-width: 992px) {
.col-company[data-v-4fde3430] {
    min-width: 280px;
    max-width: 320px;
}
.col-type[data-v-4fde3430] {
    width: 35px;
}
.col-scale[data-v-4fde3430], .col-value[data-v-4fde3430] {
    width: 45px;
}
.col-industries[data-v-4fde3430], .col-location[data-v-4fde3430] {
    min-width: 80px;
}
.col-updated[data-v-4fde3430] {
    width: 55px;
}
.col-actions[data-v-4fde3430] {
    width: 55px;
}
}
@media (max-width: 768px) {
.clients-grid[data-v-4fde3430] {
    grid-template-columns: 1fr;
}
.component-header[data-v-4fde3430] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.select-all-section[data-v-4fde3430] {
    justify-content: center;
}
  
  /* 移动端表格优化 */
.list-table[data-v-4fde3430] {
    font-size: 12px;
}
.list-table thead th[data-v-4fde3430] {
    padding: 8px 12px;
    font-size: 11px;
}
.list-table tbody td[data-v-4fde3430] {
    padding: 12px;
}
.col-company[data-v-4fde3430] {
    min-width: 200px;
    max-width: 250px;
}
.col-type[data-v-4fde3430] {
    width: 30px;
}
.col-scale[data-v-4fde3430], .col-value[data-v-4fde3430] {
    width: 40px;
}
.col-industries[data-v-4fde3430], .col-location[data-v-4fde3430] {
    min-width: 70px;
}
.col-updated[data-v-4fde3430] {
    width: 50px;
}
.col-actions[data-v-4fde3430] {
    width: 50px;
}
.company-icon-cell[data-v-4fde3430] {
    width: 32px;
    height: 32px;
}
.company-name.link-like[data-v-4fde3430] {
    font-size: 14px;
}
.classification-badge[data-v-4fde3430] {
    padding: 2px 6px;
    font-size: 9px;
    min-width: 40px;
}
}
@media (max-width: 576px) {
.list-table thead th[data-v-4fde3430] {
    padding: 6px 8px;
    font-size: 10px;
}
.list-table tbody td[data-v-4fde3430] {
    padding: 8px;
}
.col-company[data-v-4fde3430] {
    min-width: 180px;
    max-width: 220px;
}
.col-type[data-v-4fde3430] {
    width: 25px;
}
.col-scale[data-v-4fde3430], .col-value[data-v-4fde3430] {
    width: 35px;
}
.col-industries[data-v-4fde3430], .col-location[data-v-4fde3430] {
    min-width: 60px;
}
.col-updated[data-v-4fde3430] {
    width: 45px;
}
.col-actions[data-v-4fde3430] {
    width: 40px;
}
.company-icon-cell[data-v-4fde3430] {
    width: 28px;
    height: 28px;
}
.company-name.link-like[data-v-4fde3430] {
    font-size: 13px;
}
.classification-badge[data-v-4fde3430] {
    padding: 2px 4px;
    font-size: 8px;
    min-width: 35px;
}
.company-tag[data-v-4fde3430] {
    padding: 2px 6px;
    font-size: 10px;
}
}

/* 自定义滚动条样式 */
.ent-client-list[data-v-4fde3430] {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}
.ent-client-list[data-v-4fde3430]::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}
.ent-client-list[data-v-4fde3430]:hover {
  scrollbar-width: thin; /* Firefox */
  -ms-overflow-style: auto; /* IE and Edge */
}
.ent-client-list[data-v-4fde3430]:hover::-webkit-scrollbar {
  display: block; /* Chrome, Safari, Opera */
  width: 4px;
  height: 4px;
}
.ent-client-list[data-v-4fde3430]:hover::-webkit-scrollbar-track {
  background: transparent;
}
.ent-client-list[data-v-4fde3430]:hover::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}
.ent-client-list[data-v-4fde3430]:hover::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

/* 表格内容区域的滚动条 */
.table-body[data-v-4fde3430] {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}
.table-body[data-v-4fde3430]::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}
.table-body[data-v-4fde3430]:hover {
  scrollbar-width: thin; /* Firefox */
  -ms-overflow-style: auto; /* IE and Edge */
}
.table-body[data-v-4fde3430]:hover::-webkit-scrollbar {
  display: block; /* Chrome, Safari, Opera */
  width: 4px;
  height: 4px;
}
.table-body[data-v-4fde3430]:hover::-webkit-scrollbar-track {
  background: transparent;
}
.table-body[data-v-4fde3430]:hover::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}
.table-body[data-v-4fde3430]:hover::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

/* 分页 Footer 样式 */
.pagination-footer[data-v-4fde3430] {
  background-color: #f8f9fa;
  border-top: 1px solid #e9ecef;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.pagination-footer.minimal[data-v-4fde3430] {
  background: #fafafa;
  border-top: 1px solid #e9ecef;
  padding: 10px 12px;
}
.pagination-info[data-v-4fde3430] {
  flex: 1;
}
.pagination-text[data-v-4fde3430] {
  font-size: 13px;
  color: #6c757d;
  font-weight: 500;
}
.pagination-controls[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* 每页条数选择器 */
.page-size-selector[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-size-label[data-v-4fde3430] {
  font-size: 13px;
  color: #495057;
  font-weight: 500;
}
.page-size-select[data-v-4fde3430] {
  padding: 4px 8px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 13px;
  background-color: white;
  color: #495057;
  cursor: pointer;
  min-width: 60px;
}
.page-size-select[data-v-4fde3430]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
}
.page-size-unit[data-v-4fde3430] {
  font-size: 13px;
  color: #6c757d;
}

/* 分页导航 */
.pagination-nav[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.pagination-btn[data-v-4fde3430] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #dee2e6;
  background-color: white;
  color: #495057;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border-radius: 4px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.pagination-btn[data-v-4fde3430]:hover:not(:disabled) {
  background-color: #e9ecef;
  border-color: #adb5bd;
  color: #212529;
}
.pagination-btn[data-v-4fde3430]:active:not(:disabled) {
  background-color: #dee2e6;
  transform: translateY(1px);
}
.pagination-btn[data-v-4fde3430]:disabled {
  background-color: #f8f9fa;
  color: #adb5bd;
  cursor: not-allowed;
  border-color: #e9ecef;
}
.pagination-btn.active[data-v-4fde3430] {
  background-color: #1976d2;
  border-color: #1976d2;
  color: white;
}
.pagination-btn.active[data-v-4fde3430]:hover {
  background-color: #1565c0;
  border-color: #1565c0;
}
.pagination-btn.ellipsis[data-v-4fde3430] {
  cursor: default;
  border: none;
  background: transparent;
  width: auto;
  padding: 0 8px;
}
.pagination-btn.ellipsis[data-v-4fde3430]:hover {
  background: transparent;
  color: #495057;
}

/* 页码按钮 */
.page-numbers[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.page-number[data-v-4fde3430] {
  min-width: 32px;
}

/* 跳转区域 */
.page-jump[data-v-4fde3430] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.jump-label[data-v-4fde3430] {
  font-size: 13px;
  color: #495057;
  font-weight: 500;
}
.jump-input[data-v-4fde3430] {
  width: 50px;
  padding: 4px 8px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 13px;
  text-align: center;
  background-color: white;
  color: #495057;
}
.jump-input[data-v-4fde3430]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
}
.jump-unit[data-v-4fde3430] {
  font-size: 13px;
  color: #6c757d;
}
.jump-btn[data-v-4fde3430] {
  padding: 4px 12px;
  border: 1px solid #1976d2;
  background-color: #1976d2;
  color: white;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.jump-btn[data-v-4fde3430]:hover {
  background-color: #1565c0;
  border-color: #1565c0;
}
.jump-btn[data-v-4fde3430]:active {
  transform: translateY(1px);
}

/* 响应式设计 */
@media (max-width: 768px) {
.pagination-footer[data-v-4fde3430] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.pagination-controls[data-v-4fde3430] {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}
.page-size-selector[data-v-4fde3430] {
    order: 1;
}
.pagination-nav[data-v-4fde3430] {
    order: 2;
    flex: 1;
    justify-content: center;
}
.page-jump[data-v-4fde3430] {
    order: 3;
}
.page-numbers[data-v-4fde3430] {
    display: none;
}
.pagination-btn[data-v-4fde3430] {
    width: 24px;
    height: 24px;
    font-size: 11px;
}
}

/* 精简分页样式 */
.mini-pager[data-v-4fde3430] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.mini-btn[data-v-4fde3430] {
  padding: 4px 10px;
  border: 1px solid #dee2e6;
  background: white;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
}
.mini-btn[data-v-4fde3430]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.mini-info[data-v-4fde3430] {
  font-size: 12px;
  color: #6c757d;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntFinder.vue?vue&type=style&index=0&id=4f417a4d&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 模态框淡入淡出动画 */
.modal-fade-enter-active[data-v-4f417a4d],
.modal-fade-leave-active[data-v-4f417a4d] {
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.modal-fade-enter-from[data-v-4f417a4d],
.modal-fade-leave-to[data-v-4f417a4d] {
  opacity: 0;
  transform: scale(0.95);
}
.modal-fade-enter-to[data-v-4f417a4d],
.modal-fade-leave-from[data-v-4f417a4d] {
  opacity: 1;
  transform: scale(1);
}

/* 模态框内容进入动画 */
.modal-fade-enter-active .modal-content[data-v-4f417a4d] {
  animation: slideInFromTop-4f417a4d 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.modal-fade-leave-active .modal-content[data-v-4f417a4d] {
  animation: slideOutToTop-4f417a4d 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
@keyframes slideInFromTop-4f417a4d {
0% {
    transform: translateY(-20px);
    opacity: 0;
}
100% {
    transform: translateY(0);
    opacity: 1;
}
}
@keyframes slideOutToTop-4f417a4d {
0% {
    transform: translateY(0);
    opacity: 1;
}
100% {
    transform: translateY(-20px);
    opacity: 0;
}
}

/* 模态框样式 */
.modal[data-v-4f417a4d] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 20px;
  box-sizing: border-box;
}
.modal-content[data-v-4f417a4d] {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 1100px;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
  animation: modalSlideIn-4f417a4d 0.3s ease-out;
  position: relative;
}
@keyframes modalSlideIn-4f417a4d {
from {
    transform: scale(0.95);
    opacity: 0;
}
to {
    transform: scale(1);
    opacity: 1;
}
}
.modal-header[data-v-4f417a4d] {
  padding: 24px 28px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);
}
.modal-header h3[data-v-4f417a4d] {
  margin: 0;
  font-size: 18px;
  color: #1f2937;
  font-weight: 600;
  letter-spacing: -0.025em;
}
.close-button[data-v-4f417a4d] {
  background: none;
  border: none;
  font-size: 20px;
  color: #6b7280;
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}
.close-button[data-v-4f417a4d]:hover {
  color: #374151;
  background-color: #f3f4f6;
}

/* Radio 按钮样式 */
.radio-group[data-v-4f417a4d] {
  display: flex;
  gap: 20px;
  margin-top: 8px;
}
.radio-item[data-v-4f417a4d] {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 12px 16px;
  border: 2px solid #dee2e6;
  border-radius: 8px;
  transition: all 0.2s;
  background-color: white;
}
.radio-item[data-v-4f417a4d]:hover {
  border-color: #1976d2;
  background-color: rgba(25, 118, 210, 0.05);
}
.radio-item[data-v-4f417a4d]:has(.radio-input:checked) {
  border-color: #1976d2;
  background-color: rgba(25, 118, 210, 0.1);
}
.radio-input[data-v-4f417a4d] {
  margin: 0 8px 0 0;
  width: 16px;
  height: 16px;
  accent-color: #1976d2;
}
.radio-label[data-v-4f417a4d] {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* 设定页面导航样式 */
.setup-navigation[data-v-4f417a4d] {
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
  background-color: #f8f9fa;
}
.nav-steps[data-v-4f417a4d] {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 400px;
  margin: 0 auto;
}
.nav-step[data-v-4f417a4d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: all 0.2s;
  padding: 8px 16px;
  border-radius: 8px;
}
.nav-step[data-v-4f417a4d]:hover {
  background-color: rgba(25, 118, 210, 0.05);
}
.nav-step.active[data-v-4f417a4d] {
  background-color: rgba(25, 118, 210, 0.1);
}
.step-number[data-v-4f417a4d] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
  border: 2px solid #dee2e6;
  color: #6c757d;
  background-color: white;
  transition: all 0.2s;
}
.nav-step.active .step-number[data-v-4f417a4d] {
  border-color: #1976d2;
  color: #1976d2;
  background-color: #1976d2;
  color: white;
}
.nav-step.completed .step-number[data-v-4f417a4d] {
  border-color: #28a745;
  background-color: #28a745;
  color: white;
}
.step-label[data-v-4f417a4d] {
  font-size: 12px;
  color: #6c757d;
  text-align: center;
  transition: color 0.2s;
}
.nav-step.active .step-label[data-v-4f417a4d] {
  color: #1976d2;
  font-weight: 500;
}
.nav-step.completed .step-label[data-v-4f417a4d] {
  color: #28a745;
}
.nav-step.disabled[data-v-4f417a4d] {
  cursor: not-allowed;
  opacity: 0.5;
}
.nav-step.disabled[data-v-4f417a4d]:hover {
  background-color: transparent;
}
.nav-divider[data-v-4f417a4d] {
  width: 40px;
  height: 2px;
  background-color: #dee2e6;
  margin: 0 8px;
  margin-bottom: 20px;
}

/* 内容区域样式 */
.modal-body[data-v-4f417a4d] {
  flex: 1;
  overflow-y: auto;
}

/* 滚动条样式 */
.modal-body[data-v-4f417a4d]::-webkit-scrollbar {
  width: 6px;
}
.modal-body[data-v-4f417a4d]::-webkit-scrollbar-track {
  background: transparent;
}
.modal-body[data-v-4f417a4d]::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}
.modal-body[data-v-4f417a4d]::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

/* 信息设定样式 */
.setup-section[data-v-4f417a4d] {
  max-width: 1040px;
  margin: 0 auto;
  padding: 24px 28px;
}
.form-group[data-v-4f417a4d] {
  margin-bottom: 20px;
}
.form-label[data-v-4f417a4d] {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
}
.form-input[data-v-4f417a4d],
.form-textarea[data-v-4f417a4d] {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.form-input[data-v-4f417a4d]:focus,
.form-textarea[data-v-4f417a4d]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1);
}
.form-textarea[data-v-4f417a4d] {
  resize: vertical;
  min-height: 80px;
  line-height: 1.5;
}
.form-input[data-v-4f417a4d]::-moz-placeholder, .form-textarea[data-v-4f417a4d]::-moz-placeholder {
  color: #999;
}
.form-input[data-v-4f417a4d]::placeholder,
.form-textarea[data-v-4f417a4d]::placeholder {
  color: #999;
}

/* 新布局样式 */
.content-layout[data-v-4f417a4d] {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.main-content[data-v-4f417a4d] {
  flex: 1;
}
.form-fields[data-v-4f417a4d] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* 表单分组样式 */
.form-section[data-v-4f417a4d] {
  position: relative;
}
.form-section[data-v-4f417a4d]:not(:last-child) {
  margin-bottom: 8px;
}
.section-header[data-v-4f417a4d] {
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
}
.section-title[data-v-4f417a4d] {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 4px 0;
  letter-spacing: -0.025em;
}
.section-description[data-v-4f417a4d] {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
  line-height: 1.4;
}
.form-row[data-v-4f417a4d] {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 36px;
  padding: 4px 0;
}
.form-row .form-label[data-v-4f417a4d] {
  min-width: 100px;
  margin-bottom: 0;
  font-weight: 500;
  color: #374151;
  flex-shrink: 0;
  font-size: 13px;
}
.form-row .form-input[data-v-4f417a4d],
.form-row .form-textarea[data-v-4f417a4d] {
  flex: 1;
  margin-bottom: 0;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  transition: all 0.2s ease;
  background-color: #ffffff;
}
.form-row .form-input[data-v-4f417a4d]:focus,
.form-row .form-textarea[data-v-4f417a4d]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.1);
}
.seed-section[data-v-4f417a4d] {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-radius: 12px;
  padding: 20px;
  min-width: 320px;
  max-width: 360px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.seed-header[data-v-4f417a4d] {
  margin-bottom: 16px;
}
.seed-title[data-v-4f417a4d] {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 6px 0;
  letter-spacing: -0.025em;
}
.seed-description[data-v-4f417a4d] {
  font-size: 12px;
  color: #6b7280;
  margin: 0;
  line-height: 1.4;
}

/* 企业类型按钮样式 - 模仿 EntMgr 的 ent-filter-buttons 样式 */
.ent-type-buttons[data-v-4f417a4d] {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  justify-content: center;
  padding-top: 0;
  flex: 1;
}
.ent-type-button[data-v-4f417a4d] {
  border: 1px solid #ccc;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  min-width: 0;
  flex-shrink: 0;
  padding: 6px 8px;
  border-right-width: 0;
  width: 58px;
}
.ent-type-button[data-v-4f417a4d]:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.ent-type-button[data-v-4f417a4d]:last-child {
  border-right-width: 1px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.ent-type-button[data-v-4f417a4d]:hover {
  background-color: #f8f9fa;
}
.ent-type-button.active[data-v-4f417a4d] {
  border-color: #1976d2;
  background-color: #e3f2fd;
  color: #1565c0;
  border-right-width: 1px;
}
.ent-type-button-content[data-v-4f417a4d] {
  display: flex;
  align-items: center;
}
.ent-type-icon[data-v-4f417a4d] {
  flex-shrink: 0;
  transition: transform 0.2s ease;
  padding-right: 4px;
}
.ent-type-button.active .ent-type-icon[data-v-4f417a4d] {
  transform: scale(1.1);
}
.ent-type-label[data-v-4f417a4d] {
  white-space: nowrap;
  font-weight: inherit;
  font-size: 12px;
}

/* 种子企业样式 - 优化后的紧凑设计 */
.seed-companies-list[data-v-4f417a4d] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.seed-company-card[data-v-4f417a4d] {
  background-color: white;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 12px;
  transition: all 0.2s ease;
  position: relative;
}
.seed-company-card[data-v-4f417a4d]:hover {
  border-color: #1976d2;
  box-shadow: 0 1px 3px rgba(25, 118, 210, 0.1);
}
.seed-card-content[data-v-4f417a4d] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.seed-form-row[data-v-4f417a4d] {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}
.seed-form-group[data-v-4f417a4d] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.seed-form-label[data-v-4f417a4d] {
  font-size: 11px;
  font-weight: 500;
  color: #6b7280;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.seed-form-input[data-v-4f417a4d] {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: 13px;
  font-family: inherit;
  transition: all 0.2s ease;
  box-sizing: border-box;
  background-color: #fafafa;
}
.seed-form-input[data-v-4f417a4d]:focus {
  outline: none;
  border-color: #1976d2;
  background-color: white;
  box-shadow: 0 0 0 1px rgba(25, 118, 210, 0.1);
}
.seed-form-input[data-v-4f417a4d]::-moz-placeholder {
  color: #9ca3af;
  font-size: 12px;
}
.seed-form-input[data-v-4f417a4d]::placeholder {
  color: #9ca3af;
  font-size: 12px;
}
.remove-seed-button[data-v-4f417a4d] {
  background: none;
  border: none;
  color: #dc2626;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  z-index: 10;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 4px;
  top: 4px;
}
.remove-seed-button[data-v-4f417a4d]:hover {
  background-color: rgba(220, 38, 38, 0.1);
  opacity: 1;
  transform: scale(1.05);
}
.seed-actions[data-v-4f417a4d] {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
  margin-top: 16px;
}
.add-seed-button[data-v-4f417a4d] {
  padding: 10px 16px;
  background-color: #1976d2;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  width: 100%;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(25, 118, 210, 0.2);
}
.add-seed-button[data-v-4f417a4d]:hover:not(:disabled) {
  background-color: #1565c0;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(25, 118, 210, 0.3);
}
.add-seed-button[data-v-4f417a4d]:disabled {
  background-color: #9ca3af;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.seed-limit-hint[data-v-4f417a4d] {
  font-size: 12px;
  color: #6c757d;
}

/* Footer样式 */
.modal-footer[data-v-4f417a4d] {
  padding: 20px 28px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);
}
.cancel-button[data-v-4f417a4d],
.back-button[data-v-4f417a4d],
.new-task-button[data-v-4f417a4d],
.start-button[data-v-4f417a4d] {
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.cancel-button[data-v-4f417a4d],
.back-button[data-v-4f417a4d] {
  background-color: #ffffff;
  color: #6b7280;
  border: 1px solid #d1d5db;
}
.cancel-button[data-v-4f417a4d]:hover,
.back-button[data-v-4f417a4d]:hover {
  background-color: #f9fafb;
  border-color: #9ca3af;
}
.new-task-button[data-v-4f417a4d] {
  background-color: #6b7280;
  color: white;
}
.new-task-button[data-v-4f417a4d]:hover {
  background-color: #4b5563;
}
.start-button[data-v-4f417a4d] {
  background-color: #1976d2;
  color: white;
  font-weight: 600;
}
.start-button[data-v-4f417a4d]:hover:not(:disabled) {
  background-color: #1565c0;
  transform: translateY(-1px);
}
.start-button[data-v-4f417a4d]:disabled {
  background-color: #9ca3af;
  cursor: not-allowed;
  transform: none;
}

/* 设定页面底部按钮样式 */
.setup-footer-buttons[data-v-4f417a4d] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.skip-button[data-v-4f417a4d],
.next-button[data-v-4f417a4d],
.prev-button[data-v-4f417a4d] {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
  display: flex;
  align-items: center;
  gap: 6px;
}
.skip-button[data-v-4f417a4d] {
  background-color: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
}
.skip-button[data-v-4f417a4d]:hover {
  background-color: #e9ecef;
}
.next-button[data-v-4f417a4d] {
  background-color: #1976d2;
  color: white;
}
.next-button[data-v-4f417a4d]:hover {
  background-color: #1565c0;
}
.prev-button[data-v-4f417a4d] {
  background-color: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
}
.prev-button[data-v-4f417a4d]:hover {
  background-color: #e9ecef;
}

/* 响应式设计 */
@media (max-width: 1200px) {
.modal-content[data-v-4f417a4d] {
    max-width: 95%;
}
.content-layout[data-v-4f417a4d] {
    flex-direction: column;
}
.seed-section[data-v-4f417a4d] {
    max-width: none;
    min-width: auto;
}
}
@media (max-width: 1024px) {
.modal[data-v-4f417a4d] {
    padding: 10px;
}
.modal-content[data-v-4f417a4d] {
    width: 98%;
    max-width: none;
}
.nav-steps[data-v-4f417a4d] {
    max-width: 300px;
}
.step-number[data-v-4f417a4d] {
    width: 28px;
    height: 28px;
    font-size: 12px;
}
.step-label[data-v-4f417a4d] {
    font-size: 11px;
}
.nav-divider[data-v-4f417a4d] {
    width: 30px;
    margin-bottom: 16px;
}
}
@media (max-width: 768px) {
.modal-content[data-v-4f417a4d] {
    width: 100%;
    max-width: 100%;
    max-height: 95vh;
}
.form-row[data-v-4f417a4d] {
    flex-direction: column;
    gap: 12px;
}
.radio-group[data-v-4f417a4d] {
    flex-direction: column;
    gap: 12px;
}
.modal-footer[data-v-4f417a4d] {
    flex-wrap: wrap;
    justify-content: center;
}
.setup-footer-buttons[data-v-4f417a4d] {
    flex-wrap: wrap;
    justify-content: center;
}
.seed-company-form[data-v-4f417a4d] {
    gap: 8px;
}
.seed-actions[data-v-4f417a4d] {
    flex-direction: column;
    align-items: stretch;
}
.add-seed-button[data-v-4f417a4d] {
    justify-content: center;
}

  /* 响应式布局调整 */
.content-layout[data-v-4f417a4d] {
    flex-direction: column;
}
.seed-section[data-v-4f417a4d] {
    max-width: none;
    min-width: auto;
    margin-top: 16px;
}
.form-row[data-v-4f417a4d] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.form-row .form-label[data-v-4f417a4d] {
    min-width: auto;
}
.ent-type-buttons[data-v-4f417a4d] {
    flex-direction: column;
    padding: 8px;
    width: 100%;
}
.ent-type-button[data-v-4f417a4d] {
    min-width: auto;
    width: 100%;
    border-right: 1px solid #ccc;
    border-bottom: none;
    margin-bottom: 1px;
}
.ent-type-button[data-v-4f417a4d]:last-child {
    border-bottom: 1px solid #ccc;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    margin-bottom: 0;
}
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntExpansionList.vue?vue&type=style&index=0&id=1003e4a6&scoped=true&lang=css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.ent-expansion-list[data-v-1003e4a6] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: white;
  overflow: hidden;
}
.component-header[data-v-1003e4a6] {
  padding: 16px;
  border-bottom: 1px solid #eee;
  background: #fafafa;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-header-content[data-v-1003e4a6] {
  display: flex;
  align-items: center;
}
.section-title[data-v-1003e4a6] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.selected-count[data-v-1003e4a6] {
  margin-left: 12px;
  font-size: 12px;
  color: #666;
}
.delete-button[data-v-1003e4a6] {
  margin-left: 12px;
  background: none;
  border: none;
  padding: 4px 8px;
  cursor: pointer;
  color: #dc3545;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
.delete-button[data-v-1003e4a6]:hover {
  background-color: #fee;
}

/* 多选框样式 */
.expansion-checkbox[data-v-1003e4a6] {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  cursor: pointer;
  z-index: 10;
}
.expansion-checkbox.disabled[data-v-1003e4a6] {
  cursor: not-allowed;
  opacity: 0.4;
}
.expansion-checkbox.disabled[data-v-1003e4a6]:hover {
  cursor: not-allowed;
}
.checkbox-checked[data-v-1003e4a6] {
  color: #1976d2;
}
.checkbox-unchecked[data-v-1003e4a6] {
  color: #ccc;
}
.expansion-checkbox:not(.disabled):hover .checkbox-unchecked[data-v-1003e4a6] {
  color: #999;
}
.new-plan-button[data-v-1003e4a6] {
  background: #1976d2;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background-color 0.2s ease;
}
.new-plan-button[data-v-1003e4a6]:hover {
  background: #0056b3;
}
.new-plan-button[data-v-1003e4a6]:active {
  background: #004085;
}
.expansion-cards[data-v-1003e4a6] {
  flex: 1;
  overflow-y: auto;
}

/* 卡片样式 - 完全按照 MailboxComponent 的 quotation-card */
.quotation-cards-grid[data-v-1003e4a6] {
  display: flex;
  flex-direction: column;
}
.quotation-card[data-v-1003e4a6] {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-bottom: 1px solid #e1e4e8;
  padding: 16px;
  padding-left: 48px; /* 为checkbox留出空间 */
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.quotation-card.selected[data-v-1003e4a6] {
  background: linear-gradient(135deg, #e8f4fd 0%, #f0f8ff 100%);
  box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
}
.quotation-card.checkbox-selected[data-v-1003e4a6] {
  background-color: #f0f8ff;
  border-left: 3px solid #1976d2;
}

/* 右上角状态标签 */
.status-tag[data-v-1003e4a6] {
  position: absolute;
  top: 6px;
  right: -21px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: white;
  transform: rotate(45deg);
  text-align: center;
  width: 60px;
}
.status-pending[data-v-1003e4a6] {
  background: #6c757d;
}
.status-executing[data-v-1003e4a6] {
  background: #1976d2;
}
.status-completed[data-v-1003e4a6] {
  background: #00851e;
}
.status-failed[data-v-1003e4a6] {
  background: #dc3545;
}

/* 卡片内容 */
.quotation-card-content[data-v-1003e4a6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* 卡片头部 */
.quotation-card-header[data-v-1003e4a6] {
  display: flex;
  gap: 12px;
}
.quotation-avatar[data-v-1003e4a6] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e1f0fe;
  color: #0366d6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  flex-shrink: 0;

  background: #f8f9fa;
  border: 2px solid #e9ecef;
  transition: all 0.2s ease;
}
.transport-avatar.industry-internet[data-v-1003e4a6] {
  background: #007bff;
}
.transport-avatar.industry-manufacturing[data-v-1003e4a6] {
  background: #fd7e14;
}
.transport-avatar.industry-finance[data-v-1003e4a6] {
  background: #28a745;
}
.transport-avatar.industry-fintech[data-v-1003e4a6] {
  background: #6f42c1;
}
.transport-avatar.industry-default[data-v-1003e4a6] {
  background: #6c757d;
}

/* 根据拓展类型设置不同的颜色 */
.transport-avatar.expansion-customer[data-v-1003e4a6] {
  background: #e8f5e8;
  border-color: #4caf50;
  color: #388e3c;
}
.transport-avatar.expansion-supplier[data-v-1003e4a6] {
  background: #fff3e0;
  border-color: #ff9800;
  color: #f57c00;
}
.transport-avatar.expansion-competitor[data-v-1003e4a6] {
  background: #fce4ec;
  border-color: #e91e63;
  color: #c2185b;
}
.transport-avatar.expansion-agent[data-v-1003e4a6] {
  background: #e3f2fd;
  border-color: #2196f3;
  color: #1976d2;
}
.route-subject[data-v-1003e4a6] {
  flex: 1;
  min-width: 0;
}
.quotation-route[data-v-1003e4a6] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #333;
  font-size: 14px;
  margin-bottom: 4px;
}
.route-from[data-v-1003e4a6] {
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.description-text[data-v-1003e4a6] {
  font-size: 12px;
  color: #6b7280;
  line-height: 1.4;
  margin: 4px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: normal;
}
.meta-item[data-v-1003e4a6] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}
.meta-label[data-v-1003e4a6] {
  font-size: 11px;
  color: #6b7280;
  font-weight: 500;
}
.meta-value[data-v-1003e4a6] {
  font-size: 11px;
  color: #374151;
  font-weight: 600;
}

/* 统计信息 */
.quotation-stats[data-v-1003e4a6] {
  display: flex;
  align-items: center;
  gap: 0px;
  padding: 8px 0;
  justify-content: space-around;
}
.stat-item[data-v-1003e4a6] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.stat-icon[data-v-1003e4a6] {
  flex-shrink: 0;
}
.stat-icon.a-type[data-v-1003e4a6] {
  color: #28a745;
}
.stat-icon.b-type[data-v-1003e4a6] {
  color: #e17f00;
}
.stat-icon.c-type[data-v-1003e4a6] {
  color: #dc3545;
}
.stat-number[data-v-1003e4a6] {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

/* 日期和按钮区域 */
.quotation-dates[data-v-1003e4a6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.date-item[data-v-1003e4a6] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #666;
  width: 100%;
  font-size: 11px;
}
.date-icon[data-v-1003e4a6] {
  color: #999;
}
.date-value[data-v-1003e4a6] {
  font-weight: 500;
  font-size: 11px;
}
.workflow-send-container[data-v-1003e4a6] {
  flex-shrink: 0;
  margin-left: auto;
}
.workflow-send-button[data-v-1003e4a6] {
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: background 0.2s;
}
.workflow-send-button[data-v-1003e4a6]:hover {
  background: #0056b3;
}

/* 按钮状态样式 */
.workflow-send-button.button-inactive[data-v-1003e4a6] {
  background: #6c757d;
  color: #fff;
}
.workflow-send-button.button-inactive[data-v-1003e4a6]:hover {
  background: #5a6268;
}
.workflow-send-button.button-active[data-v-1003e4a6] {
  background: #00851e;
  color: #fff;
}
.workflow-send-button.button-active[data-v-1003e4a6]:hover {
  background: #00851e;
}
.workflow-send-button[data-v-1003e4a6]:disabled {
  background: #6c757d !important;
  color: #fff !important;
  cursor: not-allowed !important;
  opacity: 0.7;
}
.workflow-send-button[data-v-1003e4a6]:disabled:hover {
  background: #6c757d !important;
}

/* 自定义滚动条 */
.expansion-cards[data-v-1003e4a6] {
  scrollbar-width: thin;
  -ms-overflow-style: auto;
}
.expansion-cards[data-v-1003e4a6]::-webkit-scrollbar {
  display: block;
  width: 4px;
  height: 4px;
}
.expansion-cards[data-v-1003e4a6]::-webkit-scrollbar-track {
  background: transparent;
}
.expansion-cards[data-v-1003e4a6]::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}
.expansion-cards[data-v-1003e4a6]::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}
.loading-container[data-v-1003e4a6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 300px;
  color: #666;
  text-align: center;
}
.loading-spinner[data-v-1003e4a6] {
  width: 32px;
  height: 32px;
  border: 3px solid #f6f8fa;
  border-top: 3px solid #0366d6;
  border-radius: 50%;
  animation: spin-1003e4a6 1s linear infinite;
  margin-bottom: 16px;
}
@keyframes spin-1003e4a6 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.loading-container p[data-v-1003e4a6] {
  margin: 0;
  font-size: 14px;
}
.empty-expansions[data-v-1003e4a6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 300px;
  color: #999;
  text-align: center;
}
.empty-expansions p[data-v-1003e4a6] {
  margin-top: 16px;
  font-size: 14px;
}

/* 邮件拓客选项弹窗样式 */
.modal-backdrop[data-v-1003e4a6] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.outreach-modal[data-v-1003e4a6] {
  width: 420px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  animation: modalSlideIn-1003e4a6 0.3s ease-out;
}
@keyframes modalSlideIn-1003e4a6 {
from {
    transform: scale(0.95);
    opacity: 0;
}
to {
    transform: scale(1);
    opacity: 1;
}
}
.outreach-modal-header[data-v-1003e4a6] {
  padding: 16px 20px;
  border-bottom: 1px solid #e9ecef;
  background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);
}
.outreach-modal-title[data-v-1003e4a6] {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
}
.outreach-modal-body[data-v-1003e4a6] {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.outreach-modal-body .form-row[data-v-1003e4a6] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.outreach-modal-body .form-label[data-v-1003e4a6] {
  min-width: 80px;
  font-size: 14px;
  color: #374151;
  font-weight: 500;
  flex-shrink: 0;
}
.segmented[data-v-1003e4a6] {
  display: inline-flex;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  overflow: hidden;
  flex: 1;
}
.seg-btn[data-v-1003e4a6] {
  padding: 8px 16px;
  font-size: 13px;
  border: none;
  background: #f6f8fa;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s ease;
  flex: 1;
}
.seg-btn[data-v-1003e4a6]:hover:not(.active) {
  background: #e5e7eb;
}
.seg-btn.active[data-v-1003e4a6] {
  background: #1976d2;
  color: #fff;
  font-weight: 500;
}
.select[data-v-1003e4a6] {
  flex: 1;
  height: 36px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 0 12px;
  font-size: 13px;
  background: white;
  color: #374151;
  transition: all 0.2s ease;
}
.select[data-v-1003e4a6]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.1);
}
.outreach-modal-footer[data-v-1003e4a6] {
  padding: 16px 20px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid #e9ecef;
  background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);
}
.btn[data-v-1003e4a6] {
  height: 32px;
  padding: 0 16px;
  font-size: 13px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s ease;
}
.btn-secondary[data-v-1003e4a6] { 
  background: white; 
  color: #6b7280;
  border: 1px solid #d1d5db;
}
.btn-secondary[data-v-1003e4a6]:hover { 
  background: #f9fafb;
  border-color: #9ca3af;
}
.btn-primary[data-v-1003e4a6] { 
  background: #1976d2; 
  color: #fff;
  box-shadow: 0 2px 4px rgba(25, 118, 210, 0.2);
}
.btn-primary[data-v-1003e4a6]:hover { 
  background: #1565c0;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(25, 118, 210, 0.3);
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/charts/SankeyChart.vue?vue&type=style&index=0&id=726ef556&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.sankey-chart[data-v-726ef556] {
  width: 100%;
  background: white;
  overflow: hidden;
}
.chart-container[data-v-726ef556] {
  width: 100%;
  min-height: 200px;
}

/* 响应式设计 */
@media (max-width: 768px) {
.chart-container[data-v-726ef556] {
    min-height: 150px;
}
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/FeatureAnalysisSanKey.vue?vue&type=style&index=0&id=54b42c4d&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.feature-analysis-sankey[data-v-54b42c4d] {
  background: white;
  padding: 20px;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/FeatureAnalysisTable.vue?vue&type=style&index=0&id=1d697c60&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.feature-analysis-table[data-v-1d697c60] {
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.table-header[data-v-1d697c60] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}
.table-title[data-v-1d697c60] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}
.table-controls[data-v-1d697c60] {
  display: flex;
  gap: 8px;
}
.control-btn[data-v-1d697c60] {
  padding: 6px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: white;
  color: #666;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.control-btn[data-v-1d697c60]:hover {
  border-color: #1890ff;
  color: #1890ff;
}
.control-btn.active[data-v-1d697c60] {
  background: #1890ff;
  border-color: #1890ff;
  color: white;
}
.table-container[data-v-1d697c60] {
  overflow-x: auto;
}
.feature-table[data-v-1d697c60] {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.feature-table th[data-v-1d697c60] {
  background: #f8f9fa;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  color: #333;
  border-bottom: 2px solid #e0e0e0;
  white-space: nowrap;
}
.feature-table td[data-v-1d697c60] {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
}
.feature-row[data-v-1d697c60]:hover {
  background: #f8f9fa;
}
.category-cell[data-v-1d697c60] {
  background: #efefef;
  /* font-weight: 600; */
  /* color: #1890ff; */
  border-right: 1px solid #e0e0e0;
}
.subcategory-cell[data-v-1d697c60] {
  background: #f6f8fa;
  font-weight: 500;
  color: #555;
  border-right: 1px solid #e0e0e0;
}
.feature-cell[data-v-1d697c60] {
  font-weight: 500;
  color: #333;
  border-right: 1px solid #e0e0e0;
}
.business-cell[data-v-1d697c60],
.website-cell[data-v-1d697c60],
.search-cell[data-v-1d697c60] {
  text-align: center;
  min-width: 120px;
}
.feature-tag[data-v-1d697c60] {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  border-radius: 8px;
  min-width: 100px;
  transition: all 0.2s;
}
.positive-tag[data-v-1d697c60] {
  background: #f0fdf4;
  border: 1px solid #86efac;
  color: #166534;
}
.negative-tag[data-v-1d697c60] {
  background: #fef2f2;
  border: 1px solid #fca5a5;
  color: #dc2626;
}
.tag-name[data-v-1d697c60] {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.tag-score[data-v-1d697c60] {
  font-size: 12px;
  font-weight: 600;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
}
.category-name[data-v-1d697c60],
.subcategory-name[data-v-1d697c60],
.feature-name[data-v-1d697c60] {
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 8px;
}

/* 证据摘要样式 */
.evidence-summary[data-v-1d697c60] {
  margin-top: 8px;
  padding: 8px;
  background: #f8f9fa;
  border-radius: 4px;
  border-left: 3px solid #e9ecef;
}
.evidence-item[data-v-1d697c60] {
  margin-bottom: 6px;
}
.evidence-item[data-v-1d697c60]:last-child {
  margin-bottom: 0;
}
.evidence-type[data-v-1d697c60] {
  font-size: 11px;
  font-weight: 600;
  color: #495057;
  background: #e9ecef;
  padding: 2px 6px;
  border-radius: 3px;
  margin-right: 4px;
}
.evidence-count[data-v-1d697c60] {
  font-size: 11px;
  color: #6c757d;
  font-weight: 500;
}
.evidence-samples[data-v-1d697c60] {
  margin-top: 4px;
  padding-left: 8px;
}
.evidence-sample[data-v-1d697c60] {
  font-size: 11px;
  color: #6c757d;
  line-height: 1.3;
  margin-bottom: 2px;
  padding: 2px 0;
  border-left: 2px solid #dee2e6;
  padding-left: 6px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 2px;
}

/* 扩展洞察样式 */
.expansion-insights[data-v-1d697c60] {
  margin-top: 8px;
  padding: 8px;
  border-radius: 4px;
  border-left: 3px solid #007bff;
  background: #f0f8ff;
}
.insight-type[data-v-1d697c60] {
  font-size: 11px;
  font-weight: 600;
  color: #007bff;
  background: #e3f2fd;
  padding: 2px 6px;
  border-radius: 3px;
  margin-bottom: 4px;
  display: inline-block;
}
.insight-content[data-v-1d697c60] {
  font-size: 11px;
  color: #495057;
  line-height: 1.4;
}

/* 响应式设计 */
@media (max-width: 768px) {
.table-header[data-v-1d697c60] {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
}
.table-controls[data-v-1d697c60] {
    width: 100%;
    justify-content: center;
}
.chart-container[data-v-1d697c60] {
    margin-top: 20px;
}
.feature-table[data-v-1d697c60] {
    font-size: 12px;
}
.feature-table th[data-v-1d697c60],
  .feature-table td[data-v-1d697c60] {
    padding: 8px 12px;
}
.feature-tag[data-v-1d697c60] {
    min-width: 80px;
    padding: 6px 8px;
}
.tag-name[data-v-1d697c60] {
    font-size: 10px;
}
.tag-score[data-v-1d697c60] {
    font-size: 11px;
}
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntEditor.vue?vue&type=style&index=0&id=649fafd8&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 模态框基础样式 */
.modal[data-v-649fafd8] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.modal-content[data-v-649fafd8] {
  background: white;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
}

/* 头部样式 */
.modal-header[data-v-649fafd8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
}
.modal-header h3[data-v-649fafd8] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
}
.close-button[data-v-649fafd8] {
  background: none;
  border: none;
  font-size: 24px;
  color: #6b7280;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s;
}
.close-button[data-v-649fafd8]:hover {
  background-color: #f3f4f6;
  color: #374151;
}

/* 内容样式 */
.modal-body[data-v-649fafd8] {
  padding: 24px;
}
.form-container[data-v-649fafd8] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.form-row[data-v-649fafd8] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-label[data-v-649fafd8] {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
}
.form-input[data-v-649fafd8],
.form-textarea[data-v-649fafd8] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.form-input[data-v-649fafd8]:focus,
.form-textarea[data-v-649fafd8]:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.form-input.error[data-v-649fafd8],
.form-textarea.error[data-v-649fafd8] {
  border-color: #ef4444;
}
.form-textarea[data-v-649fafd8] {
  resize: vertical;
  min-height: 80px;
  font-family: inherit;
}
.error-message[data-v-649fafd8] {
  font-size: 12px;
  color: #ef4444;
  margin-top: -4px;
}

/* 企业类型按钮样式 - 左对齐，统一大小 */
.ent-filter-buttons[data-v-649fafd8] {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  padding: 12px 8px;
  justify-content: flex-start;
  padding-top: 0;
  gap: 0;
}
.ent-filter-buttons .filter-button[data-v-649fafd8] {
  border: 1px solid #ccc;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  min-width: 80px;
  flex: 1;
  flex-shrink: 0;
  padding: 8px 12px;
  border-right-width: 0;
  text-align: center;
}
.ent-filter-buttons[data-v-649fafd8] :first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.ent-filter-buttons[data-v-649fafd8] :last-child {
  border-right-width: 1px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.ent-filter-buttons .filter-button[data-v-649fafd8]:hover {
  background-color: #f8f9fa;
}
.ent-filter-buttons .filter-button.active[data-v-649fafd8] {
  background-color: #1976d2;
  color: white;
  border-color: #1976d2;
}
.ent-filter-buttons .filter-button.active .filter-label[data-v-649fafd8] {
  color: white;
}
.filter-button-content[data-v-649fafd8] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
}
.filter-icon[data-v-649fafd8] {
  flex-shrink: 0;
}
.filter-label[data-v-649fafd8] {
  font-size: 12px;
  font-weight: 500;
  color: #333;
  white-space: nowrap;
  text-align: center;
  flex: 1;
}


/* 底部按钮样式 */
.modal-footer[data-v-649fafd8] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px 24px;
  border-top: 1px solid #e5e7eb;
  background-color: #f9fafb;
  border-radius: 0 0 12px 12px;
}
.cancel-button[data-v-649fafd8],
.save-button[data-v-649fafd8] {
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
}
.cancel-button[data-v-649fafd8] {
  background-color: white;
  color: #6b7280;
  border: 1px solid #d1d5db;
}
.cancel-button[data-v-649fafd8]:hover:not(:disabled) {
  background-color: #f9fafb;
  color: #374151;
}
.save-button[data-v-649fafd8] {
  background-color: #3b82f6;
  color: white;
}
.save-button[data-v-649fafd8]:hover:not(:disabled) {
  background-color: #2563eb;
}
.save-button[data-v-649fafd8]:disabled {
  background-color: #9ca3af;
  cursor: not-allowed;
}
.cancel-button[data-v-649fafd8]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* 动画效果 */
.modal-fade-enter-active[data-v-649fafd8],
.modal-fade-leave-active[data-v-649fafd8] {
  transition: opacity 0.3s ease;
}
.modal-fade-enter-from[data-v-649fafd8],
.modal-fade-leave-to[data-v-649fafd8] {
  opacity: 0;
}
.modal-fade-enter-active .modal-content[data-v-649fafd8],
.modal-fade-leave-active .modal-content[data-v-649fafd8] {
  transition: transform 0.3s ease;
}
.modal-fade-enter-from .modal-content[data-v-649fafd8],
.modal-fade-leave-to .modal-content[data-v-649fafd8] {
  transform: scale(0.9) translateY(-50px);
}

/* 响应式设计 */
@media (max-width: 640px) {
.modal-content[data-v-649fafd8] {
    width: 95%;
    margin: 20px;
}
.ent-filter-buttons[data-v-649fafd8] {
    flex-direction: column;
    gap: 4px;
}
.ent-filter-buttons .filter-button[data-v-649fafd8] {
    border-right-width: 1px;
    border-radius: 4px;
    min-width: auto;
    flex: none;
}
.ent-filter-buttons[data-v-649fafd8] :first-child,
  .ent-filter-buttons[data-v-649fafd8] :last-child {
    border-radius: 4px;
}
.modal-footer[data-v-649fafd8] {
    flex-direction: column;
}
.cancel-button[data-v-649fafd8],
  .save-button[data-v-649fafd8] {
    width: 100%;
}
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntInfoDisplay.vue?vue&type=style&index=0&id=033f98c6&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.ent-info-display[data-v-033f98c6] {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

/* 头部样式 */
.ent-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 24px;
  background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
  border-bottom: 1px solid #e8e8e8;
}
.ent-logo-section[data-v-033f98c6] {
  display: flex;
  gap: 16px;
}
.ent-logo[data-v-033f98c6] {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ent-logo img[data-v-033f98c6] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.logo-placeholder[data-v-033f98c6] {
  color: #bbb;
  width: 40px;
  height: 40px;
}
.ent-basic-info[data-v-033f98c6] {
  flex: 1;
}
.ent-name[data-v-033f98c6] {
  font-size: 24px;
  font-weight: 600;
  color: #333;
  margin: 0 0 8px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.website-link[data-v-033f98c6] {
  color: #1890ff;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.website-link[data-v-033f98c6]:hover {
  opacity: 1;
}
.website-link-inline[data-v-033f98c6] {
  color: #1890ff;
  text-decoration: none;
  transition: color 0.2s;
  word-break: break-all;
}
.website-link-inline[data-v-033f98c6]:hover {
  color: #40a9ff;
  text-decoration: underline;
}
.email-link[data-v-033f98c6] {
  color: #1890ff;
  text-decoration: none;
  transition: color 0.2s;
}
.email-link[data-v-033f98c6]:hover {
  color: #40a9ff;
  text-decoration: underline;
}
.ent-english-name[data-v-033f98c6] {
  font-size: 14px;
  color: #666;
  font-style: italic;
  margin-bottom: 8px;
}
.ent-meta[data-v-033f98c6] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  color: #666;
}
.meta-divider[data-v-033f98c6] {
  color: #ddd;
}
.science-badge[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 16px;
  background: #f6ffed;
  border-radius: 8px;
  border: 1px solid #b7eb8f;
}
.science-badge .score[data-v-033f98c6] {
  font-size: 28px;
  font-weight: 600;
  color: #52c41a;
}
.science-badge .grade[data-v-033f98c6] {
  font-size: 12px;
  font-weight: 500;
}

/* 标签区域 */
.tags-section[data-v-033f98c6] {
  padding: 12px 24px;
  background: #fafafa;
  border-bottom: 1px solid #e8e8e8;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tag[data-v-033f98c6] {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  border: 1px solid;
}

/* 内容区域 */
.ent-content[data-v-033f98c6] {
  padding: 0 24px 24px;
}
.content-section[data-v-033f98c6] {
  padding: 20px 0;
  border-bottom: 1px solid #f0f0f0;
}
.content-section[data-v-033f98c6]:last-child {
  border-bottom: none;
}
.section-title[data-v-033f98c6] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin: 0 0 16px 0;
}
.section-title svg[data-v-033f98c6] {
  color: #1890ff;
}
.subsection-title[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin: 16px 0 12px 0;
  padding-left: 8px;
  border-left: 3px solid #1890ff;
}

/* 信息网格 */
.info-grid[data-v-033f98c6] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 24px;
}
.info-item[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.info-item.full-width[data-v-033f98c6] {
  grid-column: 1 / -1;
}
.info-label[data-v-033f98c6] {
  font-size: 12px;
  color: #999;
}
.info-value[data-v-033f98c6] {
  font-size: 14px;
  color: #333;
  word-break: break-all;
}
.status-tag[data-v-033f98c6] {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
}
.status-active[data-v-033f98c6] {
  background: #f6ffed;
  color: #52c41a;
}
.status-inactive[data-v-033f98c6] {
  background: #fff1f0;
  color: #ff4d4f;
}

/* 文本内容 */
.text-content[data-v-033f98c6] {
  font-size: 14px;
  color: #666;
  line-height: 1.8;
}
.business-scope[data-v-033f98c6] {
  text-align: justify;
}

/* 企业画像标签 */
.portray-tags[data-v-033f98c6] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.portray-tag[data-v-033f98c6] {
  display: inline-block;
  padding: 6px 14px;
  background: #e6f7ff;
  color: #1890ff;
  border-radius: 16px;
  font-size: 13px;
}

/* 邮箱和网站 */
.email-item a[data-v-033f98c6],
.website-item[data-v-033f98c6] {
  color: #1890ff;
  text-decoration: none;
}
.email-item a[data-v-033f98c6]:hover,
.website-item[data-v-033f98c6]:hover {
  text-decoration: underline;
}
.separator[data-v-033f98c6] {
  color: #ddd;
  margin: 0 4px;
}

/* 规模信息 */
.scale-info[data-v-033f98c6] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.scale-badge[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 20px;
  background: #f0f5ff;
  border-radius: 8px;
  flex-shrink: 0;
}
.scale-icon[data-v-033f98c6] {
  font-size: 24px;
  font-weight: 700;
  color: #1890ff;
}
.scale-label[data-v-033f98c6] {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
}
.scale-explain[data-v-033f98c6] {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
}

/* 科技信息 */
.science-stats[data-v-033f98c6] {
  display: flex;
  gap: 32px;
}
.stat-item[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.stat-value[data-v-033f98c6] {
  font-size: 24px;
  font-weight: 600;
  color: #333;
}
.stat-label[data-v-033f98c6] {
  font-size: 12px;
  color: #999;
  margin-top: 4px;
}

/* 销售信号分析样式 */
.sales-priority-section[data-v-033f98c6] {
  margin-bottom: 16px;
}
.priority-grid[data-v-033f98c6] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.priority-item[data-v-033f98c6] {
  padding: 8px 12px;
  background: #f8f9fa;
  border-radius: 6px;
  text-align: center;
}
.priority-value[data-v-033f98c6] {
  font-size: 13px;
  font-weight: 500;
}

/* 信号强度样式 */
.strength-high[data-v-033f98c6] {
  color: #52c41a;
  background: #f6ffed;
}
.strength-medium[data-v-033f98c6] {
  color: #faad14;
  background: #fffbe6;
}
.strength-low[data-v-033f98c6] {
  color: #ff4d4f;
  background: #fff1f0;
}

/* 紧急程度样式 */
.urgency-high[data-v-033f98c6] {
  color: #ff4d4f;
  background: #fff1f0;
}
.urgency-medium[data-v-033f98c6] {
  color: #faad14;
  background: #fffbe6;
}
.urgency-low[data-v-033f98c6] {
  color: #52c41a;
  background: #f6ffed;
}

/* 匹配度样式 */
.match-high[data-v-033f98c6] {
  color: #52c41a;
  background: #f6ffed;
}
.match-medium[data-v-033f98c6] {
  color: #faad14;
  background: #fffbe6;
}
.match-low[data-v-033f98c6] {
  color: #ff4d4f;
  background: #fff1f0;
}

/* 成功概率样式 */
.probability-high[data-v-033f98c6] {
  color: #52c41a;
  background: #f6ffed;
}
.probability-medium[data-v-033f98c6] {
  color: #faad14;
  background: #fffbe6;
}
.probability-low[data-v-033f98c6] {
  color: #ff4d4f;
  background: #fff1f0;
}

/* 信息卡片 */
.info-cards-container[data-v-033f98c6] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 16px;
}
.info-card[data-v-033f98c6] {
  background: #fafafa;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #f0f0f0;
}
.card-header[data-v-033f98c6] {
  padding: 12px 16px;
  background: #f5f5f5;
  border-bottom: 1px solid #e8e8e8;
}
.card-title[data-v-033f98c6] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.card-title.risk-title[data-v-033f98c6] {
  color: #ff4d4f;
}
.card-content[data-v-033f98c6] {
  padding: 12px 16px;
}
.content-item[data-v-033f98c6] {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 8px;
}
.content-item[data-v-033f98c6]:last-child {
  margin-bottom: 0;
}
.content-item.with-icon[data-v-033f98c6] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.content-item.with-icon svg[data-v-033f98c6] {
  flex-shrink: 0;
  margin-top: 4px;
  color: #52c41a;
}
.content-item.with-number[data-v-033f98c6] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.action-number[data-v-033f98c6] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: #1890ff;
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  flex-shrink: 0;
}

/* 支撑证据 */
.supporting-evidence-section[data-v-033f98c6] {
  margin-top: 16px;
}
.evidence-item[data-v-033f98c6] {
  margin-bottom: 16px;
}
.evidence-title[data-v-033f98c6] {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin: 0 0 8px 0;
}
.news-sources-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.news-source-item[data-v-033f98c6] {
  padding: 12px;
  background: #fafafa;
  border-radius: 6px;
  border: 1px solid #f0f0f0;
}
.news-source-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.news-source-title[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin: 0;
}
.news-source-link[data-v-033f98c6] {
  font-size: 12px;
  color: #1890ff;
  text-decoration: none;
}
.news-source-link[data-v-033f98c6]:hover {
  text-decoration: underline;
}
.news-source-summary[data-v-033f98c6] {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
}

/* 分析摘要 */
.analysis-summary-section[data-v-033f98c6] {
  margin-top: 16px;
}
.analysis-summary[data-v-033f98c6] {
  font-size: 14px;
  color: #666;
  line-height: 1.8;
  padding: 12px;
  background: #f8f9fa;
  border-radius: 6px;
}

/* 财务图表 */
.finance-chart[data-v-033f98c6] {
  width: 100%;
  height: 300px;
}

/* 列表样式 */
.bids-list[data-v-033f98c6],
.news-list[data-v-033f98c6],
.website-content-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bid-item[data-v-033f98c6],
.news-item[data-v-033f98c6],
.website-content-item[data-v-033f98c6] {
  padding: 12px;
  background: #fafafa;
  border-radius: 6px;
  border: 1px solid #f0f0f0;
}
.bid-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.bid-title[data-v-033f98c6],
.news-title[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}
.bid-amount[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #1890ff;
}
.bid-meta[data-v-033f98c6],
.news-date[data-v-033f98c6] {
  font-size: 12px;
  color: #999;
}
.bid-type[data-v-033f98c6] {
  margin-left: 12px;
  padding: 2px 8px;
  background: #e6f7ff;
  color: #1890ff;
  border-radius: 4px;
}
.news-summary[data-v-033f98c6],
.news-description[data-v-033f98c6],
.website-description[data-v-033f98c6] {
  font-size: 13px;
  color: #666;
  margin-top: 8px;
  line-height: 1.6;
}
.news-meta[data-v-033f98c6] {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 8px;
  font-size: 12px;
}
.website-url[data-v-033f98c6] {
  font-size: 14px;
  color: #1890ff;
  text-decoration: none;
  font-weight: 600;
}
.website-url[data-v-033f98c6]:hover {
  text-decoration: underline;
}
.website-header[data-v-033f98c6] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.website-pages[data-v-033f98c6] {
  font-size: 12px;
  color: #999;
}
.website-titles[data-v-033f98c6] {
  margin-bottom: 12px;
  padding-left: 12px;
  border-left: 3px solid #e5e7eb;
}
.website-title-item[data-v-033f98c6] {
  font-size: 13px;
  color: #666;
  margin-bottom: 6px;
  line-height: 1.5;
}
.website-more-titles[data-v-033f98c6] {
  font-size: 12px;
  color: #999;
  font-style: italic;
  margin-top: 8px;
}
.website-content-preview[data-v-033f98c6] {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
  background: #f9fafb;
  padding: 12px;
  border-radius: 4px;
  white-space: pre-wrap;
  word-break: break-word;
}

/* 客户信息样式 */
.customer-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.customer-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.customer-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.customer-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.customer-name[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
  flex: 1;
  margin-right: 16px;
}
.customer-amount[data-v-033f98c6] {
  font-size: 13px;
  font-weight: 700;
  color: #374151;
  background: #f3f4f6;
  padding: 4px 12px;
  border-radius: 6px;
}
.customer-meta[data-v-033f98c6] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 13px;
  color: #6b7280;
}
.customer-category[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.customer-source[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.customer-industry[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.customer-supplier[data-v-033f98c6] {
  font-size: 13px;
}
.supplier-label[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
  margin-right: 8px;
}
.supplier-name[data-v-033f98c6] {
  color: #374151;
  font-weight: 500;
}

/* 竞争对手样式 */
.competitor-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.competitor-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.competitor-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.competitor-header[data-v-033f98c6] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
.competitor-logo[data-v-033f98c6] {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
}
.competitor-logo img[data-v-033f98c6] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.competitor-logo .logo-placeholder[data-v-033f98c6] {
  color: #6b7280;
}
.competitor-info[data-v-033f98c6] {
  flex: 1;
}
.competitor-name[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0 0 4px 0;
}
.competitor-business[data-v-033f98c6] {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}
.competitor-meta[data-v-033f98c6] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 13px;
  color: #6b7280;
}
.competitor-industry[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.competitor-location[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.competitor-round[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.competitor-similarity[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.competitor-tags[data-v-033f98c6] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.competitor-tag[data-v-033f98c6] {
  background: #f3f4f6;
  color: #374151;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid #e5e7eb;
}

/* 企业排名样式 */
.rank-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.rank-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.rank-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.rank-header[data-v-033f98c6] {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
}
.rank-position[data-v-033f98c6] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid #e5e7eb;
}
.rank-number[data-v-033f98c6] {
  color: #374151;
  font-size: 14px;
  font-weight: 700;
}
.rank-info[data-v-033f98c6] {
  flex: 1;
}
.rank-name[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0 0 4px 0;
}
.rank-meta[data-v-033f98c6] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #6b7280;
}
.rank-year[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.rank-source[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.rank-type[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.rank-date[data-v-033f98c6] {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}

/* 资质证书样式 */
.certificates-list[data-v-033f98c6] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}
.certificate-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.certificate-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.cert-name[data-v-033f98c6] {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  flex: 1;
  margin-right: 12px;
}
.cert-count[data-v-033f98c6] {
  font-size: 13px;
  font-weight: 700;
  color: #374151;
  background: #f3f4f6;
  padding: 4px 8px;
  border-radius: 6px;
}

/* 显示更多 */
.show-more[data-v-033f98c6] {
  text-align: center;
  padding: 12px;
  color: #6b7280;
  font-size: 13px;
  background: #f9fafb;
  border-radius: 6px;
  border: 1px dashed #e5e7eb;
}

/* 分页控件样式 */
.pagination[data-v-033f98c6] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  padding: 12px 0;
}
.pagination-btn[data-v-033f98c6] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #ffffff;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s;
}
.pagination-btn[data-v-033f98c6]:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #d1d5db;
}
.pagination-btn[data-v-033f98c6]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pagination-info[data-v-033f98c6] {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
  min-width: 60px;
  text-align: center;
}

/* 分隔符 */
.divider[data-v-033f98c6] {
  color: #d1d5db;
}

/* 响应式 */
@media (max-width: 768px) {
.ent-header[data-v-033f98c6] {
    flex-direction: column;
    gap: 16px;
}
.info-grid[data-v-033f98c6] {
    grid-template-columns: 1fr;
}
.priority-grid[data-v-033f98c6] {
    grid-template-columns: repeat(2, 1fr);
}
.info-cards-container[data-v-033f98c6] {
    grid-template-columns: 1fr;
}
.ent-name[data-v-033f98c6] {
    font-size: 20px;
}
.science-stats[data-v-033f98c6] {
    flex-wrap: wrap;
    gap: 16px;
}
}

/* 股票信息样式 */
.stock-info-grid[data-v-033f98c6] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px 24px;
}
.stock-code[data-v-033f98c6] {
  font-weight: 700;
  color: #1890ff;
}

/* 高管信息样式 */
.stock-executives-section[data-v-033f98c6] {
  margin-top: 20px;
}
.executives-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.executive-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.executive-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.executive-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.executive-name[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
}
.executive-position[data-v-033f98c6] {
  font-size: 13px;
  color: #1890ff;
  background: #e6f7ff;
  padding: 2px 8px;
  border-radius: 4px;
}
.executive-meta[data-v-033f98c6] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: #6b7280;
}
.exec-info.shareholding[data-v-033f98c6] {
  color: #52c41a;
  font-weight: 500;
}

/* 股票新闻样式 */
.stock-news-list[data-v-033f98c6],
.stock-bulletins-list[data-v-033f98c6],
.stock-reports-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stock-news-item[data-v-033f98c6],
.stock-bulletin-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.stock-news-item[data-v-033f98c6]:hover,
.stock-bulletin-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.stock-news-title[data-v-033f98c6],
.bulletin-title[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
}

/* 有链接的标题默认显示为蓝色 */
a.stock-news-title[data-v-033f98c6],
a.bulletin-title[data-v-033f98c6] {
  color: #1890ff;
}
a.stock-news-title[data-v-033f98c6]:hover,
a.bulletin-title[data-v-033f98c6]:hover {
  color: #0050b3;
}
.stock-news-meta[data-v-033f98c6],
.bulletin-meta[data-v-033f98c6] {
  display: flex;
  gap: 12px;
  font-size: 12px;
  color: #6b7280;
}
.news-time[data-v-033f98c6],
.bulletin-time[data-v-033f98c6] {
  color: #9ca3af;
}
.news-source[data-v-033f98c6],
.bulletin-source[data-v-033f98c6] {
  color: #6b7280;
  background: #f3f4f6;
  padding: 2px 6px;
  border-radius: 4px;
}

/* 公司报告样式 */
.stock-report-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.stock-report-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.report-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}
.report-title[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  flex: 1;
  margin-right: 12px;
}

/* 有链接的报告标题默认显示为蓝色 */
a.report-title[data-v-033f98c6] {
  color: #1890ff;
}
a.report-title[data-v-033f98c6]:hover {
  color: #0050b3;
}
.report-type-badge[data-v-033f98c6] {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
  flex-shrink: 0;
}
.report-type-annual[data-v-033f98c6] {
  background: #fff7e6;
  color: #fa8c16;
}
.report-type-q1[data-v-033f98c6],
.report-type-q2[data-v-033f98c6],
.report-type-q3[data-v-033f98c6],
.report-type-q4[data-v-033f98c6] {
  background: #e6f7ff;
  color: #1890ff;
}
.report-meta[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #6b7280;
}
.report-time[data-v-033f98c6] {
  color: #9ca3af;
}
.report-pdf-link[data-v-033f98c6] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #1890ff;
  text-decoration: none;
  font-size: 12px;
}
.report-pdf-link[data-v-033f98c6]:hover {
  text-decoration: underline;
}

/* 富媒体新闻样式 */
.rich-news-section[data-v-033f98c6] {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}
.rich-news-section[data-v-033f98c6]:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.rich-news-list[data-v-033f98c6],
.rich-announcements-list[data-v-033f98c6],
.rich-reports-list[data-v-033f98c6],
.rich-forum-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rich-news-item[data-v-033f98c6],
.rich-announcement-item[data-v-033f98c6],
.rich-report-item[data-v-033f98c6],
.rich-forum-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.rich-news-item[data-v-033f98c6]:hover,
.rich-announcement-item[data-v-033f98c6]:hover,
.rich-report-item[data-v-033f98c6]:hover,
.rich-forum-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.rich-news-title[data-v-033f98c6],
.announcement-title[data-v-033f98c6],
.forum-title[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
}

/* 有链接的标题默认显示为蓝色 */
a.rich-news-title[data-v-033f98c6],
a.announcement-title[data-v-033f98c6],
a.forum-title[data-v-033f98c6] {
  color: #1890ff;
}
a.rich-news-title[data-v-033f98c6]:hover,
a.announcement-title[data-v-033f98c6]:hover,
a.forum-title[data-v-033f98c6]:hover {
  color: #0050b3;
}
.rich-news-summary[data-v-033f98c6],
.announcement-summary[data-v-033f98c6],
.report-summary[data-v-033f98c6],
.forum-summary[data-v-033f98c6] {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.6;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rich-news-meta[data-v-033f98c6],
.announcement-meta[data-v-033f98c6],
.forum-meta[data-v-033f98c6] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: #6b7280;
}
.news-media[data-v-033f98c6],
.ann-security[data-v-033f98c6],
.report-org[data-v-033f98c6] {
  color: #6b7280;
  background: #f3f4f6;
  padding: 2px 6px;
  border-radius: 4px;
}
.relevance-score[data-v-033f98c6] {
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 500;
}
.relevance-high[data-v-033f98c6] {
  background: #f6ffed;
  color: #52c41a;
}
.relevance-medium[data-v-033f98c6] {
  background: #fffbe6;
  color: #faad14;
}
.relevance-low[data-v-033f98c6] {
  background: #fff1f0;
  color: #ff4d4f;
}
.ann-time[data-v-033f98c6],
.forum-time[data-v-033f98c6] {
  color: #9ca3af;
}

/* 供应商样式 */
.supplier-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.supplier-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.supplier-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.supplier-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.supplier-name[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
}
.supplier-amount[data-v-033f98c6] {
  font-size: 13px;
  font-weight: 600;
  color: #1890ff;
}
.supplier-meta[data-v-033f98c6] {
  display: flex;
  gap: 12px;
  font-size: 12px;
  color: #6b7280;
}

/* 主要人员样式 */
.staff-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.staff-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.staff-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.staff-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.staff-name[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
}
.staff-position[data-v-033f98c6] {
  font-size: 12px;
  color: #1890ff;
  background: #e6f7ff;
  padding: 2px 8px;
  border-radius: 4px;
}
.staff-meta[data-v-033f98c6] {
  font-size: 12px;
  color: #6b7280;
}

/* 股东信息样式 */
.holder-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.holder-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.holder-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.holder-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.holder-name[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
}
.holder-percent[data-v-033f98c6] {
  font-size: 13px;
  font-weight: 600;
  color: #52c41a;
}
.holder-meta[data-v-033f98c6] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: #6b7280;
}
.holder-type[data-v-033f98c6] {
  color: #6b7280;
  font-weight: 500;
}
.holder-share-type[data-v-033f98c6] {
  color: #1890ff;
  background: #e6f7ff;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}

/* 对外投资样式 */
.investment-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.investment-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.investment-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.investment-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.investment-name[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
}
.investment-percent[data-v-033f98c6] {
  font-size: 13px;
  font-weight: 600;
  color: #1890ff;
}
.investment-meta[data-v-033f98c6] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
  color: #6b7280;
}
.investment-status.status-active[data-v-033f98c6] {
  color: #52c41a;
}

/* 分支机构样式 */
.branch-list[data-v-033f98c6] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.branch-item[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.branch-item[data-v-033f98c6]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.branch-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.branch-name[data-v-033f98c6] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
}
.branch-status.status-active[data-v-033f98c6] {
  color: #52c41a;
}
.branch-meta[data-v-033f98c6] {
  font-size: 12px;
  color: #6b7280;
}

/* 总公司样式 */
.parent-company-info[data-v-033f98c6] {
  background: #ffffff;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid #e5e7eb;
}
.parent-header[data-v-033f98c6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.parent-name[data-v-033f98c6] {
  font-size: 16px;
  font-weight: 600;
  color: #374151;
  margin: 0;
}
.parent-status.status-active[data-v-033f98c6] {
  color: #52c41a;
}
.parent-meta[data-v-033f98c6] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: #6b7280;
}
@media (max-width: 768px) {
.stock-info-grid[data-v-033f98c6] {
    grid-template-columns: repeat(2, 1fr);
}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntView.vue?vue&type=style&index=0&id=824585e8&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.ent-view[data-v-824585e8] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  position: relative;
}

/* AI推理评分样式 */
.inference-score-section[data-v-824585e8] {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
}
.inference-score-section .section-title[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.grade-tag[data-v-824585e8] {
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
  margin-left: 8px;
}
.grade-tag.grade-a[data-v-824585e8] {
  background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
  color: #166534;
}
.grade-tag.grade-b[data-v-824585e8] {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  color: #92400e;
}
.grade-tag.grade-c[data-v-824585e8] {
  background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
  color: #991b1b;
}
.avg-score-tag[data-v-824585e8] {
  font-size: 12px;
  color: #64748b;
  margin-left: 8px;
  font-weight: 500;
}
.inference-score-card[data-v-824585e8] {
  background: white;
  border-radius: 10px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.score-header[data-v-824585e8] {
  display: flex;
  gap: 24px;
  margin-bottom: 16px;
}
.comprehensive-score[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  padding: 12px 16px;
  border-radius: 10px;
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
}
.comprehensive-score.score-high[data-v-824585e8] {
  background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
}
.comprehensive-score.score-medium[data-v-824585e8] {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
}
.comprehensive-score.score-low[data-v-824585e8] {
  background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
}
.comprehensive-score .score-value[data-v-824585e8] {
  font-size: 32px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1;
}
.comprehensive-score .score-label[data-v-824585e8] {
  font-size: 11px;
  color: #64748b;
  margin-top: 4px;
}
.detailed-scores[data-v-824585e8] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.score-item[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.score-item .score-name[data-v-824585e8] {
  font-size: 13px;
  color: #475569;
  min-width: 70px;
}
.score-bar-container[data-v-824585e8] {
  flex: 1;
  height: 8px;
  background: #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
}
.score-bar[data-v-824585e8] {
  height: 100%;
  background: linear-gradient(90deg, #3b82f6 0%, #60a5fa 100%);
  border-radius: 4px;
  transition: width 0.3s ease;
}
.score-item .score-num[data-v-824585e8] {
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
  min-width: 24px;
  text-align: right;
}
.reasoning-section[data-v-824585e8] {
  padding: 12px;
  background: #f8fafc;
  border-radius: 8px;
  margin-bottom: 16px;
  border-left: 3px solid #3b82f6;
}
.reasoning-content[data-v-824585e8] {
  font-size: 13px;
  color: #475569;
  line-height: 1.7;
}
.factors-container[data-v-824585e8] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.factors-section[data-v-824585e8] {
  padding: 12px;
  border-radius: 8px;
}
.factors-section.positive-factors[data-v-824585e8] {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
}
.factors-section.risk-factors[data-v-824585e8] {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
}
.factors-title[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 8px 0;
}
.positive-factors .factors-title[data-v-824585e8] {
  color: #166534;
}
.positive-factors .factors-title svg[data-v-824585e8] {
  color: #22c55e;
}
.risk-factors .factors-title[data-v-824585e8] {
  color: #991b1b;
}
.risk-factors .factors-title svg[data-v-824585e8] {
  color: #ef4444;
}
.factors-list[data-v-824585e8] {
  margin: 0;
  padding-left: 18px;
  list-style-type: disc;
}
.factors-list li[data-v-824585e8] {
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 4px;
}
.positive-factors .factors-list li[data-v-824585e8] {
  color: #15803d;
}
.risk-factors .factors-list li[data-v-824585e8] {
  color: #b91c1c;
}
@media (max-width: 768px) {
.score-header[data-v-824585e8] {
    flex-direction: column;
}
.factors-container[data-v-824585e8] {
    grid-template-columns: 1fr;
}
}

/* 关闭按钮容器 */
.ent-view-header[data-v-824585e8] {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1001;
}
.close-btn[data-v-824585e8] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.9);
  color: #6c757d;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(4px);
}
.close-btn[data-v-824585e8]:hover {
  background-color: rgba(255, 255, 255, 1);
  color: #495057;
  transform: scale(1.1);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.close-btn[data-v-824585e8]:active {
  transform: scale(0.95);
}
.no-selection[data-v-824585e8] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f8f9fa;
}
.no-selection-content[data-v-824585e8] {
  text-align: center;
  color: #6c757d;
}
.no-selection-content h3[data-v-824585e8] {
  margin: 16px 0 8px 0;
  font-size: 18px;
  font-weight: 500;
  color: #495057;
}
.no-selection-content p[data-v-824585e8] {
  margin: 0;
  font-size: 14px;
  color: #6c757d;
}
.ent-detail[data-v-824585e8] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

/* Loading overlay */
.loading-overlay[data-v-824585e8] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(2px);
}
.loading-spinner[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.spinner-ring[data-v-824585e8] {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(52, 152, 219, 0.2);
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin-824585e8 1s linear infinite;
}
@keyframes spin-824585e8 {
0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}
.loading-text[data-v-824585e8] {
  font-size: 16px;
  color: #3498db;
  font-weight: 600;
  animation: pulse-824585e8 1.5s ease-in-out infinite alternate;
}
@keyframes pulse-824585e8 {
0% {
    opacity: 0.6;
}
100% {
    opacity: 1;
}
}
.ent-header.loading[data-v-824585e8] {
  opacity: 0.7;
  pointer-events: none;
}

/* 固定头部 */
.ent-header[data-v-824585e8] {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  color: #2c3e50;
  padding: 0;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid #e9ecef;
  transition: background-color 0.3s ease;
}

/* Header状态背景样式 - 与EntClientList保持一致 */
.ent-header.header-status-error[data-v-824585e8] {
  background: linear-gradient(
    135deg,
    #fef2f2 0%,
    #fee2e2 100%
  ) !important; /* 非常淡的红色渐变 */
}
.ent-header.header-status-warning[data-v-824585e8] {
  background: linear-gradient(
    135deg,
    #f9fafb 0%,
    #f3f4f6 100%
  ) !important; /* 非常淡的灰色渐变 */
}
.ent-header.header-status-success[data-v-824585e8] {
  background: linear-gradient(
    135deg,
    #f0fdf4 0%,
    #dcfce7 100%
  ) !important; /* 非常淡的绿色渐变 */
}
.ent-header-content[data-v-824585e8] {
  padding: 20px 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 80px;
}
.ent-logo-section[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
}
.ent-logo[data-v-824585e8] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #f0f7ff 0%, #e3f2fd 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid rgba(52, 152, 219, 0.15);
  box-shadow: 0 2px 4px rgba(52, 152, 219, 0.1);
}
.logo-placeholder[data-v-824585e8] {
  color: #3498db;
}
.ent-basic-info[data-v-824585e8] {
  flex: 1;
  min-width: 0;
}
.ent-name-section[data-v-824585e8] {
  margin-bottom: 8px;
}
.ent-name-row[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ent-name[data-v-824585e8] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1a202c;
  line-height: 1.3;
  letter-spacing: -0.3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ent-english-name[data-v-824585e8] {
  margin-top: 4px;
  font-size: 14px;
  font-weight: 400;
  color: #6b7280;
  font-style: italic;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-link-icon[data-v-824585e8] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #3498db;
  text-decoration: none;
  transition: all 0.2s ease;
  opacity: 0.7;
  flex-shrink: 0;
}
.website-link-icon[data-v-824585e8]:hover {
  color: #2980b9;
  opacity: 1;
  transform: scale(1.1);
}

/* 编辑按钮样式 */
.edit-company-btn[data-v-824585e8] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: none;
  border: none;
  border-radius: 4px;
  color: #6b7280;
  cursor: pointer;
  transition: all 0.2s ease;
  opacity: 0.7;
  margin-left: 8px;
}
.edit-company-btn[data-v-824585e8]:hover {
  background-color: #f3f4f6;
  color: #374151;
  opacity: 1;
  transform: scale(1.1);
}
.edit-company-btn[data-v-824585e8]:active {
  transform: scale(0.95);
}

/* Status标签样式 */
.status-tag-before-name[data-v-824585e8] {
  margin-right: 8px;
  display: inline-flex;
  align-items: center;
}
.stage-status-badge[data-v-824585e8] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  border: 1px solid;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.stage-status-badge[data-v-824585e8]:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.stage-status-badge.status-badge[data-v-824585e8] {
  background: #f8f9fa !important;
  color: #495057 !important;
  border-color: #dee2e6 !important;
}

/* 状态特定颜色 */
.stage-status-badge.status-badge[data-status="in_progress"][data-v-824585e8] {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%) !important;
  color: #1976d2 !important;
  border-color: #90caf9 !important;
}
.stage-status-badge.status-badge[data-status="mismatch"][data-v-824585e8] {
  background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%) !important;
  color: #d32f2f !important;
  border-color: #ef9a9a !important;
}
.stage-status-badge.status-badge[data-status="postponed"][data-v-824585e8] {
  background: #f5f5f5 !important;
  color: #666666 !important;
  border-color: #e0e0e0 !important;
}
.stage-status-badge.status-badge[data-status="failed"][data-v-824585e8] {
  background: linear-gradient(135deg, #fce4ec 0%, #f8bbd9 100%) !important;
  color: #c2185b !important;
  border-color: #f48fb1 !important;
}
.stage-status-badge.status-badge[data-status="signed"][data-v-824585e8] {
  background: linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%) !important;
  color: #2e7d32 !important;
  border-color: #a5d6a7 !important;
}
.ent-meta[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  flex-wrap: wrap;
}
.ent-meta .industry[data-v-824585e8] {
  color: #374151;
  background: rgba(55, 65, 81, 0.08);
  padding: 3px 8px;
  border-radius: 6px;
  font-weight: 500;
  font-size: 12px;
  border: 1px solid rgba(55, 65, 81, 0.15);
}
.ent-meta .scale[data-v-824585e8] {
  color: #374151;
  background: rgba(55, 65, 81, 0.08);
  padding: 3px 8px;
  border-radius: 6px;
  font-weight: 500;
  font-size: 12px;
  border: 1px solid rgba(55, 65, 81, 0.15);
}
.ent-meta .region[data-v-824585e8] {
  color: #374151;
  background: rgba(55, 65, 81, 0.08);
  padding: 3px 8px;
  border-radius: 6px;
  font-weight: 500;
  font-size: 12px;
  border: 1px solid rgba(55, 65, 81, 0.15);
}
.ent-meta .divider[data-v-824585e8] {
  opacity: 0.4;
  font-weight: 300;
  color: #9ca3af;
  font-size: 12px;
}
.ent-meta .similarity[data-v-824585e8] {
  color: #059669;
  font-weight: 500;
  font-size: 12px;
}
.ent-header-right[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.ent-score-badge[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid #ccc;
  letter-spacing: 0.3px;
  color: #374151;
}
.ent-actions[data-v-824585e8] {
  display: flex;
  gap: 8px;
}
.action-btn[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.action-btn.primary[data-v-824585e8] {
  background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
  color: white;
  box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3);
}
.action-btn.primary[data-v-824585e8]:hover {
  background: linear-gradient(135deg, #2980b9 0%, #21618c 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(52, 152, 219, 0.4);
}
.action-btn.secondary[data-v-824585e8] {
  background: rgba(52, 152, 219, 0.1);
  color: #3498db;
  border: 1px solid rgba(52, 152, 219, 0.3);
}
.action-btn.secondary[data-v-824585e8]:hover {
  background: rgba(52, 152, 219, 0.2);
  border-color: rgba(52, 152, 219, 0.4);
}

/* 分析逻辑样式 */
.ent-reasoning[data-v-824585e8] {
  padding: 16px 20px;
  margin-top: 0;
  padding-top: 8px;
}
.reasoning-label[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #2c3e50;
}
.reasoning-label svg[data-v-824585e8] {
  color: #3498db;
}
.reasoning-text[data-v-824585e8] {
  font-size: 14px;
  line-height: 1.5;
  color: #34495e;
}

/* 可滚动内容区域 */
.ent-content[data-v-824585e8] {
  flex: 1;
  overflow-y: auto;
  padding: 32px;
  background-color: #fafbfc;
}
.content-section[data-v-824585e8] {
  margin-bottom: 24px;
}
.content-section[data-v-824585e8]:last-child {
  margin-bottom: 0;
}
.section-title[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px 0;
  font-size: 14px;
  font-weight: 600;
  color: #2c3e50;
  letter-spacing: -0.3px;
}
.section-title svg[data-v-824585e8] {
  color: #3498db;
}
.info-grid[data-v-824585e8] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.info-item[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.info-label[data-v-824585e8] {
  font-size: 11px;
  color: #7f8c8d;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 600;
}
.info-value[data-v-824585e8] {
  font-size: 14px;
  font-weight: 600;
  color: #2c3e50;
  line-height: 1.3;
}
.info-value.funding[data-v-824585e8] {
  color: #27ae60;
  font-size: 14px;
}
.info-value.status-normal[data-v-824585e8] {
  color: #27ae60;
  font-weight: 700;
}
.tags-container[data-v-824585e8] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.industry-tag[data-v-824585e8] {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  color: #1976d2;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid rgba(25, 118, 210, 0.2);
  transition: all 0.2s;
}
.industry-tag[data-v-824585e8]:hover {
  background: linear-gradient(135deg, #bbdefb 0%, #90caf9 100%);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.2);
}
.no-tags[data-v-824585e8] {
  color: #95a5a6;
  font-style: italic;
  font-size: 13px;
}
.website-link[data-v-824585e8] {
  color: #3498db;
  text-decoration: none;
  font-weight: 500;
}
.website-link[data-v-824585e8]:hover {
  text-decoration: underline;
  color: #2980b9;
}
.business-keywords[data-v-824585e8] {
  margin-top: 16px;
}
.keywords-title[data-v-824585e8] {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: 600;
  color: #2c3e50;
  display: flex;
  align-items: center;
  gap: 8px;
}
.keywords-title[data-v-824585e8]::before {
  content: "";
  width: 3px;
  height: 16px;
  background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
  border-radius: 2px;
}
.keywords-container[data-v-824585e8] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.keyword-tag[data-v-824585e8] {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  color: #495057;
  padding: 6px 12px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  border: 1px solid rgba(73, 80, 87, 0.1);
  transition: all 0.2s;
}
.keyword-tag[data-v-824585e8]:hover {
  background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(73, 80, 87, 0.15);
}

/* 行业分类层级样式 */
.industry-hierarchy[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.industry-level[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
}
.industry-label[data-v-824585e8] {
  font-size: 13px;
  color: #7f8c8d;
  font-weight: 600;
  min-width: 80px;
}
.industry-value[data-v-824585e8] {
  font-size: 15px;
  color: #2c3e50;
  font-weight: 500;
}

/* AI评分样式 */
.score-display[data-v-824585e8] {
  margin-bottom: 20px;
}
.score-item[data-v-824585e8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, #e8f5e8 0%, #d4edda 100%);
  border-radius: 12px;
  border: 1px solid rgba(40, 167, 69, 0.2);
}
.score-label[data-v-824585e8] {
  font-size: 14px;
  color: #155724;
  font-weight: 600;
}
.score-value[data-v-824585e8] {
  font-size: 24px;
  color: #28a745;
  font-weight: 700;
}
.reasoning-content[data-v-824585e8] {
  margin-top: 16px;
}
.reasoning-title[data-v-824585e8] {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: 600;
  color: #2c3e50;
  display: flex;
  align-items: center;
  gap: 8px;
}
.reasoning-title[data-v-824585e8]::before {
  content: "";
  width: 3px;
  height: 16px;
  background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
  border-radius: 2px;
}
.reasoning-text[data-v-824585e8] {
  font-size: 14px;
  line-height: 1.6;
  color: #34495e;
}

/* 特征分析样式 */
.feature-section[data-v-824585e8] {
  margin-bottom: 24px;
}
.feature-section[data-v-824585e8]:last-child {
  margin-bottom: 0;
}
.feature-title[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px 0;
  font-size: 14px;
  font-weight: 600;
}
.feature-title.positive[data-v-824585e8] {
  color: #27ae60;
}
.feature-title.negative[data-v-824585e8] {
  color: #e74c3c;
}
.feature-list[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.feature-item[data-v-824585e8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-radius: 8px;
  transition: all 0.2s;
}
.feature-item.positive[data-v-824585e8] {
  background: linear-gradient(135deg, #e8f5e8 0%, #d4edda 100%);
  border: 1px solid rgba(39, 174, 96, 0.2);
}
.feature-item.negative[data-v-824585e8] {
  background: linear-gradient(135deg, #fdeaea 0%, #f8d7da 100%);
  border: 1px solid rgba(231, 76, 60, 0.2);
}
.feature-item[data-v-824585e8]:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.feature-path[data-v-824585e8] {
  font-size: 13px;
  color: #2c3e50;
  font-weight: 500;
  flex: 1;
  margin-right: 16px;
}
.feature-score[data-v-824585e8] {
  font-size: 14px;
  font-weight: 700;
  min-width: 60px;
  text-align: right;
}
.feature-item.positive .feature-score[data-v-824585e8] {
  color: #27ae60;
}
.feature-item.negative .feature-score[data-v-824585e8] {
  color: #e74c3c;
}
.description-content[data-v-824585e8] {
  font-size: 15px;
  line-height: 1.7;
  color: #34495e;
}
.contact-records[data-v-824585e8] {
  min-height: 120px;
}
.no-records[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  color: #95a5a6;
  text-align: center;
  background-color: white;
  border-radius: 8px;
  border: 2px dashed #ecf0f1;
}
.no-records p[data-v-824585e8] {
  margin: 16px 0 20px 0;
  font-size: 15px;
  color: #7f8c8d;
  font-weight: 500;
}
.add-contact-btn[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.add-contact-btn[data-v-824585e8]:hover {
  background: linear-gradient(135deg, #2980b9 0%, #21618c 100%);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3);
}

/* 分割线 */
.divider-line[data-v-824585e8] {
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    #e0e6ed 50%,
    transparent 100%
  );
  margin: 24px 0;
}

/* 自定义滚动条 */
.ent-content[data-v-824585e8] {
  scrollbar-width: thin;
  -ms-overflow-style: auto;
}
.ent-content[data-v-824585e8]::-webkit-scrollbar {
  display: block;
  width: 6px;
}
.ent-content[data-v-824585e8]::-webkit-scrollbar-track {
  background: transparent;
}
.ent-content[data-v-824585e8]::-webkit-scrollbar-thumb {
  background: rgba(52, 73, 94, 0.2);
  border-radius: 3px;
}
.ent-content[data-v-824585e8]::-webkit-scrollbar-thumb:hover {
  background: rgba(52, 73, 94, 0.4);
}
.external-link[data-v-824585e8] {
  color: #6b7280;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
}
.external-link[data-v-824585e8]:hover {
  text-decoration: underline;
  color: #374151;
}

/* 联系人样式 */
.contact-list[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.contact-item[data-v-824585e8] {
  background: #ffffff;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.contact-item[data-v-824585e8]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.contact-header[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
.contact-avatar[data-v-824585e8] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid #e5e7eb;
}
.contact-avatar svg[data-v-824585e8] {
  color: #6b7280;
}
.contact-info[data-v-824585e8] {
  flex: 1;
}
.contact-name[data-v-824585e8] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0 0 4px 0;
}
.contact-title[data-v-824585e8] {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}
.contact-details[data-v-824585e8] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.contact-detail[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.detail-label[data-v-824585e8] {
  color: #6b7280;
  font-weight: 500;
  min-width: 40px;
}
.detail-value[data-v-824585e8] {
  color: #374151;
  font-weight: 500;
  flex: 1;
}
.no-contacts[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  color: #95a5a6;
  text-align: center;
  background-color: white;
  border-radius: 8px;
  border: 2px dashed #ecf0f1;
}
.no-contacts p[data-v-824585e8] {
  margin: 16px 0 0 0;
  font-size: 15px;
  color: #7f8c8d;
  font-weight: 500;
}

/* 分页控件样式 */
.pagination[data-v-824585e8] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  padding: 12px 0;
}
.pagination-btn[data-v-824585e8] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #ffffff;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s;
}
.pagination-btn[data-v-824585e8]:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #d1d5db;
}
.pagination-btn[data-v-824585e8]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pagination-info[data-v-824585e8] {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
  min-width: 60px;
  text-align: center;
}

/* 网站内容样式 */
.website-content-list[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.website-content-item[data-v-824585e8] {
  background: #ffffff;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.website-content-item[data-v-824585e8]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.website-content-header[data-v-824585e8] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.website-url[data-v-824585e8] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
  flex: 1;
  margin-right: 16px;
  word-break: break-all;
}
.website-meta[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #6b7280;
}
.page-count[data-v-824585e8] {
  background: #f3f4f6;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}
.website-content-preview[data-v-824585e8] {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.5;
  margin-bottom: 12px;
}
.website-titles[data-v-824585e8] {
  font-size: 12px;
  color: #6b7280;
}
.titles-label[data-v-824585e8] {
  font-weight: 500;
  margin-right: 8px;
}
.titles-list[data-v-824585e8] {
  color: #374151;
}

/* 搜索新闻样式 */
.search-news-list[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.search-news-item[data-v-824585e8] {
  background: #ffffff;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  transition: all 0.2s;
}
.search-news-item[data-v-824585e8]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.news-header[data-v-824585e8] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.news-title[data-v-824585e8] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
  flex: 1;
  margin-right: 16px;
  line-height: 1.4;
}
.news-date[data-v-824585e8] {
  font-size: 12px;
  color: #6b7280;
  font-weight: 500;
  white-space: nowrap;
}
.news-content[data-v-824585e8] {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.5;
  margin-bottom: 12px;
}
.news-source[data-v-824585e8] {
  margin-bottom: 8px;
  font-size: 12px;
}
.source-label[data-v-824585e8] {
  color: #6b7280;
  font-weight: 500;
  margin-right: 8px;
}
.source-name[data-v-824585e8] {
  color: #374151;
  font-weight: 500;
}
.news-link[data-v-824585e8] {
  margin-top: 12px;
}
.external-link[data-v-824585e8] {
  color: #6b7280;
  text-decoration: none;
  font-weight: 500;
  font-size: 12px;
}
.external-link[data-v-824585e8]:hover {
  text-decoration: underline;
  color: #374151;
}

/* 公司等级徽章样式 */
.grade-badge[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  border: 1px solid #ccc;
  letter-spacing: 0.3px;
  color: #374151;
}
.grade-badge.a-type[data-v-824585e8] {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  border-color: #bbf7d0;
}
.grade-badge.b-type[data-v-824585e8] {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
  border-color: #fde68a;
}
.grade-badge.c-type[data-v-824585e8] {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
  border-color: #fecaca;
}
.grade-badge.unknown-type[data-v-824585e8] {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  border-color: #d1d5db;
}

/* 公司等级图标样式 */
.grade-icon[data-v-824585e8] {
  flex-shrink: 0;
}
.grade-icon.a-type[data-v-824585e8] {
  color: #374151;
}
.grade-icon.b-type[data-v-824585e8] {
  color: #374151;
}
.grade-icon.c-type[data-v-824585e8] {
  color: #374151;
}
.grade-icon.unknown-type[data-v-824585e8] {
  color: #374151;
}

/* 评分指示器样式 */
.score-indicator[data-v-824585e8] {
  display: inline-flex;
  align-items: center;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  margin-left: 4px;
}
.subsection-title[data-v-824585e8] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0 0 16px 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #e5e7eb;
  display: flex;
  align-items: center;
  gap: 8px;
}
.subsection-title[data-v-824585e8]::before {
  content: "";
  width: 3px;
  height: 16px;
  background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
  border-radius: 2px;
}

/* 优先级评估样式 */
.sales-priority-section[data-v-824585e8] {
  margin-bottom: 24px;
}
.priority-grid[data-v-824585e8] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.priority-item[data-v-824585e8] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.priority-value[data-v-824585e8] {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  padding: 8px 16px;
  border-radius: 6px;
  text-align: center;
  border: 1px solid #ccc;
  color: #374151;
  justify-content: center;
  min-width: 120px;
  height: 36px;
  font-weight: bold;
}
.priority-value.score[data-v-824585e8] {
  font-size: 18px;
  font-weight: 700;
}

/* 优先级值样式 */
.priority-value.strength-high[data-v-824585e8],
.priority-value.urgency-high[data-v-824585e8],
.priority-value.match-high[data-v-824585e8],
.priority-value.probability-high[data-v-824585e8] {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  color: #374151;
  border-color: #ccc;
}
.priority-value.strength-medium[data-v-824585e8],
.priority-value.urgency-medium[data-v-824585e8],
.priority-value.match-medium[data-v-824585e8],
.priority-value.probability-medium[data-v-824585e8] {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
  color: #374151;
  border-color: #ccc;
}
.priority-value.strength-low[data-v-824585e8],
.priority-value.urgency-low[data-v-824585e8],
.priority-value.match-low[data-v-824585e8],
.priority-value.probability-low[data-v-824585e8] {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
  color: #374151;
  border-color: #ccc;
}

/* 信息卡片容器样式 */
.info-cards-container[data-v-824585e8] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}

/* 信息卡片样式 */
.info-card[data-v-824585e8] {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  transition: all 0.2s;
  flex: 0 0 calc(33% - 12px);
}
.info-card[data-v-824585e8]:hover {
  border-color: #d1d5db;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.card-header[data-v-824585e8] {
  background: #f9fafb;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e7eb;
}
.card-title[data-v-824585e8] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
}
.card-title.risk-title[data-v-824585e8] {
  color: #dc2626;
}
.card-content[data-v-824585e8] {
  padding: 16px;
}
.content-item[data-v-824585e8] {
  font-size: 12px;
  color: #374151;
  line-height: 1.5;
  margin-bottom: 8px;
}
.content-item[data-v-824585e8]:last-child {
  margin-bottom: 0;
}
.content-item.with-icon[data-v-824585e8] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.content-item.with-icon svg[data-v-824585e8] {
  color: #22c55e;
  flex-shrink: 0;
  margin-top: 2px;
}
.content-item.with-number[data-v-824585e8] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.action-number[data-v-824585e8] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: #3b82f6;
  color: white;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 600;
  flex-shrink: 0;
  margin-top: 1px;
}

/* 支撑证据样式 */
.supporting-evidence-section[data-v-824585e8] {
  margin-bottom: 24px;
}
.evidence-item[data-v-824585e8] {
  margin-bottom: 16px;
}
.evidence-title[data-v-824585e8] {
  font-size: 13px;
  font-weight: 600;
  color: #4b5563;
  margin: 0 0 8px 0;
}
.news-sources-list[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.news-source-item[data-v-824585e8] {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  transition: all 0.2s;
}
.news-source-item[data-v-824585e8]:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.news-source-header[data-v-824585e8] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}
.news-source-title[data-v-824585e8] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0;
  flex: 1;
  margin-right: 16px;
  line-height: 1.4;
}
.news-source-link[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #3498db;
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.news-source-link[data-v-824585e8]:hover {
  text-decoration: underline;
  color: #2980b9;
}
.news-source-relevance[data-v-824585e8] {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.5;
}
.analysis-basis[data-v-824585e8] {
  background: #f8fafc;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  font-size: 13px;
  color: #374151;
  line-height: 1.6;
}

/* 分析摘要样式 */
.analysis-summary-section[data-v-824585e8] {
  margin-bottom: 24px;
}
.analysis-summary[data-v-824585e8] {
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
  padding: 20px;
  border-radius: 12px;
  border: 1px solid #0ea5e9;
  font-size: 14px;
  color: #0c4a6e;
  line-height: 1.6;
  font-weight: 500;
}

/* 分析元数据样式 */
.analysis-meta[data-v-824585e8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  font-size: 12px;
  color: #64748b;
}
.analysis-timestamp[data-v-824585e8] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.analysis-timestamp svg[data-v-824585e8] {
  color: #64748b;
}
.analyzer-version[data-v-824585e8] {
  font-weight: 500;
}

/* 通用样式 */
.show-more[data-v-824585e8] {
  text-align: center;
  padding: 16px;
  color: #7f8c8d;
  font-size: 14px;
  font-style: italic;
  background: rgba(52, 152, 219, 0.05);
  border-radius: 8px;
  border: 1px dashed rgba(52, 152, 219, 0.2);
}

/* Stage选择器容器样式 */
.stage-selector-container[data-v-824585e8] {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border-bottom: 1px solid #e9ecef;
  padding: 16px 20px;
  flex-shrink: 0;
}

/* Stage选择器样式 - 从EntMgr移植 */
.stage-selector[data-v-824585e8] {
  display: flex;
  flex-direction: row;
  background-color: #ffffff;
  border-radius: 13px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin: 0;
  font-family: Arial, "Microsoft Yahei", sans-serif;
  width: 100%;
}
.stage-group[data-v-824585e8] {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  flex: 1;
  width: 25%;
  --triangle-bg-color: white;
  border: 1px solid #ccc;
  border-right: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.stage-group[data-v-824585e8]:hover {
  border-color: #ccc;
}
.stage-group[data-v-824585e8]:hover:last-child {
  border-right-color: #ccc;
}
.stage-group[data-v-824585e8]:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 3px;
  right: -10px;
  width: 20px;
  height: 20px;
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  transform: rotate(-45deg);
  background-color: var(--triangle-bg-color, white);
  clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
  z-index: 1;
}
.stage-group[data-v-824585e8]:first-child {
  border-top-left-radius: 13px;
  border-bottom-left-radius: 13px;
}
.stage-group[data-v-824585e8]:last-child {
  border-right: 1px solid #ccc;
  border-top-right-radius: 13px;
  border-bottom-right-radius: 13px;
}
.stage-group.active[data-v-824585e8] {
  background-color: #1976d2;
  border-color: #1976d2;
  color: white;
}
.stage-group.active .stage-header[data-v-824585e8] {
  background-color: #1976d2;
  color: white;
  font-weight: bold;
}
.stage-group.active .stage-header-content .header-text[data-v-824585e8] {
  font-size: 13px;
  font-weight: bold;
  color: white;
}
.stage-group.active[data-v-824585e8]:not(:last-child)::after {
  border-right-color: #1976d2;
  border-bottom-color: #1976d2;
  background-color: #1976d2;
}
.stage-group.active[data-v-824585e8]:last-child {
  border-right-color: #1976d2;
  background-color: #1976d2;
}

/* 当某个group被选中时，它后面的group的左边triangle也要变active */
.stage-group.active + .stage-group[data-v-824585e8]::before {
  border-left-color: #1976d2;
  border-bottom-color: #1976d2;
}

/* 当某个group被选中时，它前面的group的右边triangle也要变active */
.stage-group[data-v-824585e8]:has(+ .stage-group.active)::after {
  border-right-color: #1976d2;
  border-bottom-color: #1976d2;
  background-color: #2e7d32;
}

/* 通用规则：当前被选中的stage前面的所有stage变成completed状态 */
/* 当leads被选中时，prospect变成completed */
.stage-group.prospect-group[data-v-824585e8]:has(~ .stage-group.leads-group.active) {
  background-color: #2e7d32;
  color: white;
  border-color: #2e7d32;
}
.stage-group.prospect-group:has(~ .stage-group.leads-group.active)
  .stage-header[data-v-824585e8] {
  background-color: #2e7d32;
  color: white;
}
.stage-group.prospect-group:has(~ .stage-group.leads-group.active)
  .stage-header-content
  .header-text[data-v-824585e8] {
  color: white;
}
.stage-group.prospect-group:has(~ .stage-group.leads-group.active) .check-icon[data-v-824585e8] {
  display: flex !important;
}
.stage-group.prospect-group[data-v-824585e8]:has(~ .stage-group.leads-group.active)::after {
  background-color: #2e7d32;
  border-right-color: #ffffff;
  border-bottom-color: #ffffff;
  border-width: 2px;
}
.stage-group.prospect-group[data-v-824585e8]:has(~ .stage-group.leads-group.active):last-child {
  border-right-color: #2e7d32;
}

/* 当opportunity被选中时，prospect和leads都变成completed */
.stage-group.prospect-group[data-v-824585e8]:has(~ .stage-group.opportunity-group.active),
.stage-group.leads-group[data-v-824585e8]:has(~ .stage-group.opportunity-group.active) {
  background-color: #2e7d32;
  color: white;
  border-color: #2e7d32;
}
.stage-group.prospect-group:has(~ .stage-group.opportunity-group.active)
  .stage-header[data-v-824585e8],
.stage-group.leads-group:has(~ .stage-group.opportunity-group.active)
  .stage-header[data-v-824585e8] {
  background-color: #2e7d32;
  color: white;
}
.stage-group.prospect-group:has(~ .stage-group.opportunity-group.active)
  .stage-header-content
  .header-text[data-v-824585e8],
.stage-group.leads-group:has(~ .stage-group.opportunity-group.active)
  .stage-header-content
  .header-text[data-v-824585e8] {
  color: white;
}
.stage-group.prospect-group:has(~ .stage-group.opportunity-group.active)
  .check-icon[data-v-824585e8],
.stage-group.leads-group:has(~ .stage-group.opportunity-group.active)
  .check-icon[data-v-824585e8] {
  display: flex !important;
}
.stage-group.prospect-group[data-v-824585e8]:has(~ .stage-group.opportunity-group.active)::after,
.stage-group.leads-group[data-v-824585e8]:has(~ .stage-group.opportunity-group.active)::after {
  background-color: #2e7d32;
  border-right-color: #ffffff;
  border-bottom-color: #ffffff;
  border-width: 2px;
}
.stage-group.prospect-group[data-v-824585e8]:has(
    ~ .stage-group.opportunity-group.active
  ):last-child,
.stage-group.leads-group[data-v-824585e8]:has(
    ~ .stage-group.opportunity-group.active
  ):last-child {
  border-right-color: #2e7d32;
}

/* 当close-won被选中时，prospect、leads和opportunity都变成completed */
.stage-group.prospect-group[data-v-824585e8]:has(~ .stage-group.close-won-group.active),
.stage-group.leads-group[data-v-824585e8]:has(~ .stage-group.close-won-group.active),
.stage-group.opportunity-group[data-v-824585e8]:has(~ .stage-group.close-won-group.active) {
  background-color: #2e7d32;
  color: white;
  border-color: #2e7d32;
}
.stage-group.prospect-group:has(~ .stage-group.close-won-group.active)
  .stage-header[data-v-824585e8],
.stage-group.leads-group:has(~ .stage-group.close-won-group.active)
  .stage-header[data-v-824585e8],
.stage-group.opportunity-group:has(~ .stage-group.close-won-group.active)
  .stage-header[data-v-824585e8] {
  background-color: #2e7d32;
  color: white;
}
.stage-group.prospect-group:has(~ .stage-group.close-won-group.active)
  .stage-header-content
  .header-text[data-v-824585e8],
.stage-group.leads-group:has(~ .stage-group.close-won-group.active)
  .stage-header-content
  .header-text[data-v-824585e8],
.stage-group.opportunity-group:has(~ .stage-group.close-won-group.active)
  .stage-header-content
  .header-text[data-v-824585e8] {
  color: white;
}
.stage-group.prospect-group:has(~ .stage-group.close-won-group.active)
  .check-icon[data-v-824585e8],
.stage-group.leads-group:has(~ .stage-group.close-won-group.active) .check-icon[data-v-824585e8],
.stage-group.opportunity-group:has(~ .stage-group.close-won-group.active)
  .check-icon[data-v-824585e8] {
  display: flex !important;
}
.stage-group.prospect-group[data-v-824585e8]:has(~ .stage-group.close-won-group.active)::after,
.stage-group.leads-group[data-v-824585e8]:has(~ .stage-group.close-won-group.active)::after,
.stage-group.opportunity-group[data-v-824585e8]:has(
    ~ .stage-group.close-won-group.active
  )::after {
  background-color: #2e7d32;
  border-right-color: #ffffff;
  border-bottom-color: #ffffff;
  border-width: 2px;
}
.stage-group.prospect-group[data-v-824585e8]:has(
    ~ .stage-group.close-won-group.active
  ):last-child,
.stage-group.leads-group[data-v-824585e8]:has(~ .stage-group.close-won-group.active):last-child,
.stage-group.opportunity-group[data-v-824585e8]:has(
    ~ .stage-group.close-won-group.active
  ):last-child {
  border-right-color: #2e7d32;
}

/* 排除最后一个stage的triangle白色边框样式 */
.stage-group.prospect-group[data-v-824585e8]:has(
    ~ .stage-group.leads-group.active
  ):last-child::after,
.stage-group.prospect-group[data-v-824585e8]:has(
    ~ .stage-group.opportunity-group.active
  ):last-child::after,
.stage-group.leads-group[data-v-824585e8]:has(
    ~ .stage-group.opportunity-group.active
  ):last-child::after,
.stage-group.prospect-group[data-v-824585e8]:has(
    ~ .stage-group.close-won-group.active
  ):last-child::after,
.stage-group.leads-group[data-v-824585e8]:has(
    ~ .stage-group.close-won-group.active
  ):last-child::after,
.stage-group.opportunity-group[data-v-824585e8]:has(
    ~ .stage-group.close-won-group.active
  ):last-child::after {
  border-right-color: #2e7d32;
  border-bottom-color: #2e7d32;
  border-width: 1px;
}
.stage-group:not(:first-child):not(:last-child) .stage-header[data-v-824585e8] {
  padding-left: 10px;
}
.stage-header[data-v-824585e8] {
  height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #444;
  font-size: 13px;
  font-weight: bold;
  color: #222;
  position: relative;
  overflow: hidden;
  padding-left: 6px;
  border-radius: 13px;
}
.stage-group:first-child .stage-header[data-v-824585e8] {
  border-top-left-radius: 13px;
  border-bottom-left-radius: 13px;
}
.stage-group:last-child .stage-header[data-v-824585e8] {
  border-top-right-radius: 13px;
  border-bottom-right-radius: 13px;
}
.stage-header-content[data-v-824585e8] {
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
}
.stage-header-content .header-text[data-v-824585e8] {
  font-size: 13px;
  font-weight: bold;
  color: #222;
}

/* Stage状态样式 - 统一白色背景 */
.stage-group.prospect-group[data-v-824585e8] {
  --triangle-bg-color: white;
}
.stage-group.prospect-group .stage-header[data-v-824585e8] {
  color: #333;
}
.stage-group.leads-group[data-v-824585e8] {
  --triangle-bg-color: white;
}
.stage-group.leads-group .stage-header[data-v-824585e8] {
  color: #333;
}
.stage-group.opportunity-group[data-v-824585e8] {
  --triangle-bg-color: white;
}
.stage-group.opportunity-group .stage-header[data-v-824585e8] {
  color: #333;
}
.stage-group.close-won-group[data-v-824585e8] {
  --triangle-bg-color: white;
  height: 27px;
}
.stage-group.close-won-group .stage-header[data-v-824585e8] {
  color: #333;
}

/* 完成状态样式 */
.stage-group.completed[data-v-824585e8] {
  --triangle-bg-color: #e6f7e6;
}
.stage-group.completed .stage-header[data-v-824585e8] {
  color: #333;
}
.stage-group.completed .check-icon[data-v-824585e8] {
  display: flex !important;
}

/* 响应式设计 */
@media (max-width: 768px) {
.ent-header-content[data-v-824585e8] {
    padding: 16px 20px;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
}
.ent-logo-section[data-v-824585e8] {
    gap: 12px;
    width: 100%;
}
.ent-logo[data-v-824585e8] {
    width: 40px;
    height: 40px;
}
.ent-name[data-v-824585e8] {
    font-size: 18px;
}
.ent-meta[data-v-824585e8] {
    gap: 6px;
}
.ent-meta .industry[data-v-824585e8],
  .ent-meta .scale[data-v-824585e8],
  .ent-meta .region[data-v-824585e8] {
    font-size: 11px;
    padding: 2px 6px;
}
.ent-header-right[data-v-824585e8] {
    width: 100%;
    justify-content: space-between;
}
.ent-score-badge[data-v-824585e8] {
    font-size: 10px;
    padding: 3px 6px;
}
.sales-signal-badge[data-v-824585e8] {
    font-size: 10px;
    padding: 3px 6px;
}
.score-indicator[data-v-824585e8] {
    font-size: 9px;
    padding: 1px 4px;
    margin-left: 3px;
}
.priority-value[data-v-824585e8] {
    font-size: 11px;
    padding: 6px 12px;
    min-width: 100px;
}
.info-cards-container[data-v-824585e8] {
    gap: 12px;
}
.info-card[data-v-824585e8] {
    flex: 0 0 100%;
    min-width: unset;
    max-width: unset;
    margin-bottom: 0;
}
.card-header[data-v-824585e8] {
    padding: 10px 12px;
}
.card-title[data-v-824585e8] {
    font-size: 13px;
}
.card-content[data-v-824585e8] {
    padding: 12px;
}
.content-item[data-v-824585e8] {
    font-size: 11px;
}
.action-number[data-v-824585e8] {
    width: 16px;
    height: 16px;
    font-size: 9px;
}
.ent-actions[data-v-824585e8] {
    width: 100%;
    justify-content: stretch;
}
.action-btn[data-v-824585e8] {
    flex: 1;
    justify-content: center;
}
.ent-content[data-v-824585e8] {
    padding: 20px;
}
.info-grid[data-v-824585e8] {
    grid-template-columns: 1fr;
    gap: 16px;
}
.certificate-grid[data-v-824585e8] {
    grid-template-columns: 1fr;
}
.bid-header[data-v-824585e8],
  .customer-header[data-v-824585e8] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.bid-amount[data-v-824585e8],
  .customer-amount[data-v-824585e8] {
    align-self: flex-start;
}
.competitor-header[data-v-824585e8] {
    gap: 12px;
}
.competitor-logo[data-v-824585e8] {
    width: 40px;
    height: 40px;
}
.rank-header[data-v-824585e8] {
    gap: 12px;
}
.rank-position[data-v-824585e8] {
    width: 40px;
    height: 40px;
}
.rank-number[data-v-824585e8] {
    font-size: 14px;
}

  /* 销售信号分析响应式 */
.priority-grid[data-v-824585e8] {
    grid-template-columns: 1fr;
}
.sales-signal-badge[data-v-824585e8] {
    margin-left: 0;
    margin-top: 8px;
}
.news-source-header[data-v-824585e8] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.news-source-link[data-v-824585e8] {
    align-self: flex-start;
}
.analysis-meta[data-v-824585e8] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/TaskNode.vue?vue&type=style&index=0&id=34a2847b&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.task-node[data-v-34a2847b] {
  width: 180px;
  height: 36px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  position: relative;
  font-size: 11px; /* 减小1px */
  color: #333;
  box-sizing: border-box;
  gap: 6px; /* 图标和文字之间的间距 */
  border-left-width: 0;
}
.task-node[data-v-34a2847b]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 4px 0 0 4px;
}
.task-node.completed[data-v-34a2847b]::before {
  background-color: #00851e;
}
.task-node.failed[data-v-34a2847b]::before {
  background-color: #dc3545;
}
.task-node.pending[data-v-34a2847b]::before {
  background-color: #aaa;
}
.task-node.running[data-v-34a2847b]::before {
  background-color: #1976d2;
}
.task-node.waiting[data-v-34a2847b]::before {
  background-color: #1976d2;
}

/* 齿轮图标样式 */
.gear-icon[data-v-34a2847b] {
  flex-shrink: 0;
  color: #666;
  width: 14px;
  height: 14px;
}

/* 文字标签样式 */
.task-node .label[data-v-34a2847b] {
  font-size: 11px; /* 减小1px */
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1; /* 占据剩余空间 */
}

/* 状态图标样式 */
.status-icon[data-v-34a2847b] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
}

/* waiting 状态的特殊样式 */
.task-node.waiting[data-v-34a2847b] {
  background: linear-gradient(90deg, #f0f8ff 0%, #e6f3ff 50%, #f0f8ff 100%);
  background-size: 200% 100%;
  animation: waiting-bg-shift-34a2847b 2s ease-in-out infinite;
}

/* waiting 状态背景动画 */
@keyframes waiting-bg-shift-34a2847b {
0% {
    background-position: 200% 0;
}
100% {
    background-position: -200% 0;
}
}

/* 时钟旋转动画 */
.rotating-clock[data-v-34a2847b] {
  animation: clock-rotate-34a2847b 2s linear infinite;
}
@keyframes clock-rotate-34a2847b {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/common/ScatterChart.vue?vue&type=style&index=0&id=2524d5a4&scoped=true&lang=css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.scatter-chart[data-v-2524d5a4] {
  width: 100%;
  height: 100%;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/common/CompanyScoresChart.vue?vue&type=style&index=0&id=23d3df38&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.company-scores-chart[data-v-23d3df38] {
  width: 100%;
  height: 100%;
  position: relative;
}
.quadrant-background[data-v-23d3df38] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.quadrant[data-v-23d3df38] {
  position: absolute;
  width: 50%;
  height: 50%;
  border: 1px solid;
  opacity: 0.2;
}

/* 右上象限：重要且紧急 (浅红色) */
.quadrant-urgent-important[data-v-23d3df38] {
  top: 0;
  right: 0;
  background-color: rgba(255, 99, 99, 0.7);
  border-color: rgba(255, 99, 99, 0.4);
}

/* 左上象限：重要不紧急 (浅黄色) */
.quadrant-important[data-v-23d3df38] {
  top: 0;
  left: 0;
  background-color: rgba(255, 206, 84, 0.7);
  border-color: rgba(255, 206, 84, 0.4);
}

/* 右下象限：不重要紧急 (浅橙色) */
.quadrant-urgent[data-v-23d3df38] {
  bottom: 0;
  right: 0;
  background-color: rgba(255, 159, 64, 0.7);
  border-color: rgba(255, 159, 64, 0.4);
}

/* 左下象限：不重要不紧急 (浅蓝色) */
.quadrant-normal[data-v-23d3df38] {
  bottom: 0;
  left: 0;
  background-color: rgba(54, 162, 235, 0.7);
  border-color: rgba(54, 162, 235, 0.4);
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntExpansionTaskView.vue?vue&type=style&index=0&id=844cc05c&scoped=true&lang=css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 进度详情样式 */
.progress-details[data-v-844cc05c] {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* 内容容器样式 */
.content-with-header[data-v-844cc05c] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

/* 可滚动内容区域 */
.scrollable-content[data-v-844cc05c] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
}

/* 空白页样式 */
.empty-state[data-v-844cc05c] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 400px;
  padding: 20px;
}
.empty-state-content[data-v-844cc05c] {
  text-align: center;
  color: #6c757d;
}
.empty-state-content h3[data-v-844cc05c] {
  margin: 0 0 8px 0;
  font-size: 18px;
  font-weight: 600;
  color: #495057;
}
.empty-state-content p[data-v-844cc05c] {
  margin: 0;
  font-size: 14px;
  color: #6c757d;
  line-height: 1.5;
}

/* 任务头部样式 - 固定头部 */
.task-header-section[data-v-844cc05c] {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
  z-index: 10;
}
.task-header-content[data-v-844cc05c] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 24px 24px 16px 24px;
  gap: 24px;
}
.task-basic-info[data-v-844cc05c] {
  flex: 1;
  min-width: 0;
}
.task-title-row[data-v-844cc05c] {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.task-title[data-v-844cc05c] {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #444;
  line-height: 1.2;
  letter-spacing: -0.025em;
}
.task-badges[data-v-844cc05c] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.task-badge[data-v-844cc05c] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
}
.task-type-badge[data-v-844cc05c] {
  background-color: #f3f4f6;
  color: #374151;
  border: 1px solid #d1d5db;
}
.task-status-badge[data-v-844cc05c] {
  background-color: #dbeafe;
  color: #1e40af;
  border: 1px solid #93c5fd;
}
.task-status-badge.completed[data-v-844cc05c] {
  background-color: #dcfce7;
  color: #166534;
  border-color: #86efac;
}
.task-status-badge.failed[data-v-844cc05c] {
  background-color: #fee2e2;
  color: #dc2626;
  border-color: #fca5a5;
}
.task-status-badge.running[data-v-844cc05c] {
  background-color: #fef3c7;
  color: #d97706;
  border-color: #fcd34d;
}
.badge-icon[data-v-844cc05c] {
  flex-shrink: 0;
}
.task-meta-info[data-v-844cc05c] {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.meta-item[data-v-844cc05c] {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* 拓展方信息区域样式 */
.expander-info-section[data-v-844cc05c] {
  margin: 16px 0;
}
.expander-header[data-v-844cc05c] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.expander-label[data-v-844cc05c] {
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
  min-width: 60px;
}
.expander-content[data-v-844cc05c] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.expander-name[data-v-844cc05c] {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
}
.expander-website[data-v-844cc05c] {
  color: #3b82f6;
  text-decoration: none;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.expander-website[data-v-844cc05c]:hover {
  background: #dbeafe;
  color: #1d4ed8;
}
.expander-description[data-v-844cc05c] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 8px;
}
.description-text[data-v-844cc05c] {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.4;
  font-weight: 400;
}
.meta-label[data-v-844cc05c] {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}
.meta-value[data-v-844cc05c] {
  font-size: 13px;
  color: #374151;
  font-weight: 600;
}
.task-actions[data-v-844cc05c] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.edit-icon-button[data-v-844cc05c] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #6b7280;
}
.edit-icon-button[data-v-844cc05c]:hover {
  background-color: #f3f4f6;
  color: #374151;
  transform: translateY(-1px);
}
.edit-icon-button[data-v-844cc05c]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.edit-icon-button[data-v-844cc05c]:disabled:hover {
  background-color: transparent;
  color: #6b7280;
  transform: none;
}
.edit-modal-backdrop[data-v-844cc05c] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}
.edit-modal[data-v-844cc05c] {
  width: 600px;
  max-width: calc(100vw - 40px);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.edit-modal-header[data-v-844cc05c] {
  padding: 16px 18px;
  border-bottom: 1px solid #eef2f7;
  background: #ffffff;
}
.edit-modal-title[data-v-844cc05c] {
  font-size: 16px;
  font-weight: 600;
  color: #24292f;
}
.edit-modal-body[data-v-844cc05c] {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.form-row[data-v-844cc05c] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-label[data-v-844cc05c] {
  font-size: 12px;
  font-weight: 600;
  color: #57606a;
}
.input[data-v-844cc05c],
.textarea[data-v-844cc05c] {
  border: 1px solid #d0d7de;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
  color: #24292f;
  outline: none;
  background: #ffffff;
}
.input[data-v-844cc05c]:focus,
.textarea[data-v-844cc05c]:focus {
  border-color: #0969da;
  box-shadow: 0 0 0 3px rgba(9, 105, 218, 0.15);
}
.edit-modal-footer[data-v-844cc05c] {
  padding: 14px 18px;
  border-top: 1px solid #eef2f7;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  background: #fff;
}

/* 复用 EntExpansionList 的按钮风格（轻量实现） */
.btn[data-v-844cc05c] {
  height: 34px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
}
.btn[data-v-844cc05c]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.btn.btn-secondary[data-v-844cc05c] {
  background: #ffffff;
  border-color: #d0d7de;
  color: #24292f;
}
.btn.btn-secondary[data-v-844cc05c]:hover:not(:disabled) {
  background: #f6f8fa;
}
.btn.btn-primary[data-v-844cc05c] {
  background: #0969da;
  border-color: #0969da;
  color: #ffffff;
}
.btn.btn-primary[data-v-844cc05c]:hover:not(:disabled) {
  background: #055fcc;
  border-color: #055fcc;
}
.edit-icon-button[data-v-844cc05c]:active {
  transform: translateY(0);
  background-color: #e5e7eb;
}

/* 任务详细信息布局 */
.task-details-layout[data-v-844cc05c] {
  display: flex;
  gap: 16px;
  padding: 24px;
  height: 280px; /* 固定高度 */
}

/* 当只有两个卡片时，让它们各占一半宽度 */
.task-details-layout:has(.detail-section:nth-child(2):last-child)
  .detail-section[data-v-844cc05c] {
  flex: 1;
}

/* 当有三个卡片时，让它们平均分配宽度 */
.task-details-layout:has(.detail-section:nth-child(3)) .detail-section[data-v-844cc05c] {
  flex: 1;
}
.detail-section[data-v-844cc05c] {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.detail-card[data-v-844cc05c] {
  background-color: #f8f9fa;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.detail-header[data-v-844cc05c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background-color: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.detail-title[data-v-844cc05c] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #374151;
}
.detail-count[data-v-844cc05c] {
  font-size: 12px;
  color: #6b7280;
  background-color: #f3f4f6;
  padding: 2px 6px;
  border-radius: 4px;
}
.detail-content[data-v-844cc05c] {
  padding: 16px;
  flex: 1;
  overflow-y: auto; /* 允许滚动 */
}
.detail-text[data-v-844cc05c] {
  margin: 0;
  font-size: 12px;
  color: #4b5563;
  line-height: 1.6;
}

/* 企业信息样式 */

/* 种子企业列表样式 */
.seed-companies-container[data-v-844cc05c] {
  padding: 0; /* 移除默认padding，让滚动条贴边 */
}

/* 企业评分容器样式 */
.companies-scores-container[data-v-844cc05c] {
  padding: 0 !important;
  height: 100%;
  width: 100%;
}
.seed-companies-list[data-v-844cc05c] {
  display: flex;
  flex-direction: column;
  padding: 16px;
}
.seed-company-item[data-v-844cc05c] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 6px;
  transition: all 0.2s ease;
}
.seed-company-item[data-v-844cc05c]:hover {
  background-color: #f8f9fa;
}
.seed-company-icon[data-v-844cc05c] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: #6b7280;
  flex-shrink: 0;
  margin-top: 2px;
}
.seed-company-info[data-v-844cc05c] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.seed-name[data-v-844cc05c] {
  font-size: 12px;
  font-weight: 500;
  color: #374151;
  margin: 0;
  line-height: 1.4;
}
.seed-website[data-v-844cc05c] {
  font-size: 12px;
  color: #1976d2;
  text-decoration: none;
  word-break: break-all;
  margin: 0;
  line-height: 1.3;
  transition: color 0.2s ease;
}
.seed-website[data-v-844cc05c]:hover {
  color: #1d4ed8;
  text-decoration: underline;
}

/* 空状态样式 */
.empty-card[data-v-844cc05c] {
  background-color: #f8f9fa;
  border: 1px dashed #d1d5db;
  display: flex;
  flex-direction: column;
}
.empty-text[data-v-844cc05c] {
  font-size: 14px;
  color: #9ca3af;
  text-align: center;
  margin: 0;
  font-style: italic;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}

/* 总体进度条样式 */
.overall-progress[data-v-844cc05c] {
  padding: 12px 20px;
  background-color: #f8f9fa;
  border-top: 1px solid #e9ecef;
  border-bottom: 1px solid #e9ecef;
  flex-shrink: 0;
}
.progress-info[data-v-844cc05c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  flex-wrap: wrap;
  gap: 8px;
}
.progress-text[data-v-844cc05c] {
  font-weight: 600;
  color: #333;
  font-size: 14px;
}
.progress-stats[data-v-844cc05c] {
  color: #666;
  font-size: 12px;
}
.rounds-info[data-v-844cc05c] {
  color: #6c757d;
  font-size: 12px;
  font-weight: 500;
  background-color: #e9ecef;
  padding: 2px 8px;
  border-radius: 12px;
}
.progress-bar[data-v-844cc05c] {
  width: 100%;
  height: 8px;
  background-color: #e9ecef;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}
.progress-fill[data-v-844cc05c] {
  height: 100%;
  transition: width 0.3s ease;
  border-radius: 4px;
}
.progress-fill.pending[data-v-844cc05c] {
  background-color: #6c757d;
}
.progress-fill.running[data-v-844cc05c] {
  background-color: #1976d2;
}
.progress-fill.completed[data-v-844cc05c] {
  background-color: #28a745;
}
.progress-fill.failed[data-v-844cc05c] {
  background-color: #dc3545;
}
.progress-fill.waiting[data-v-844cc05c] {
  background-color: #ffc107;
}

/* 轮次进度详情样式 */
.rounds-progress[data-v-844cc05c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid #dee2e6;
}
.round-progress-item[data-v-844cc05c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.round-label[data-v-844cc05c] {
  font-size: 12px;
  font-weight: 500;
  color: #495057;
  min-width: 80px;
  flex-shrink: 0;
}
.round-stats[data-v-844cc05c] {
  font-size: 11px;
  color: #6c757d;
  min-width: 40px;
  text-align: right;
  flex-shrink: 0;
}
.round-progress-bar[data-v-844cc05c] {
  flex: 1;
  height: 4px;
  background-color: #e9ecef;
  border-radius: 2px;
  overflow: hidden;
}
.round-progress-fill[data-v-844cc05c] {
  height: 100%;
  transition: width 0.3s ease;
  border-radius: 2px;
}
.round-progress-fill.pending[data-v-844cc05c] {
  background-color: #adb5bd;
}
.round-progress-fill.running[data-v-844cc05c] {
  background-color: #17a2b8;
}
.round-progress-fill.completed[data-v-844cc05c] {
  background-color: #28a745;
}
.round-progress-fill.failed[data-v-844cc05c] {
  background-color: #dc3545;
}
.round-progress-fill.waiting[data-v-844cc05c] {
  background-color: #ffc107;
}

/* X6 图形容器样式 */
.x6-graph-container[data-v-844cc05c] {
  background-color: #fff;
  position: relative;
  overflow: hidden; /* 不允许滚动条，高度由内容决定 */
}

/* X6 图形全局样式 */
[data-v-844cc05c] .x6-graph {
  background-color: #fafafa;
}
[data-v-844cc05c] .x6-node-selected .task-node {
  border-color: #1890ff;
  border-radius: 2px;
  box-shadow: 0 0 0 4px #d4e8fe;
}
[data-v-844cc05c] .x6-node-selected .task-node.completed {
  border-color: #52c41a;
  border-radius: 2px;
  box-shadow: 0 0 0 4px #ccecc0;
}
[data-v-844cc05c] .x6-node-selected .task-node.failed {
  border-color: #ff4d4f;
  border-radius: 2px;
  box-shadow: 0 0 0 4px #fedcdc;
}
[data-v-844cc05c] .x6-edge:hover path:nth-child(2) {
  stroke: #1890ff;
  stroke-width: 1px;
}
[data-v-844cc05c] .x6-edge-selected path:nth-child(2) {
  stroke: #1890ff;
  stroke-width: 1.5px !important;
}

/* 运行中的边动画 */
@keyframes running-line-844cc05c {
to {
    stroke-dashoffset: -1000;
}
}

/* 旋转动画 */
@keyframes spin-844cc05c {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}

/* 工具提示样式 */
[data-v-844cc05c] .tooltip-content {
  padding: 8px;
}
[data-v-844cc05c] .tooltip-title {
  font-size: 13px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 6px;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 4px;
}
[data-v-844cc05c] .tooltip-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
  font-size: 12px;
}
[data-v-844cc05c] .tooltip-item:last-child {
  margin-bottom: 0;
}
[data-v-844cc05c] .tooltip-label {
  color: #6b7280;
  font-weight: 500;
}
[data-v-844cc05c] .tooltip-value {
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 11px;
}
[data-v-844cc05c] .similarity-value {
  background: #dbeafe;
  color: #1d4ed8;
}
[data-v-844cc05c] .priority-value {
  background: #fee2e2;
  color: #dc2626;
}

/* 展开/收起按钮容器样式 */
.expand-toggle-container[data-v-844cc05c] {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px 0;
}

/* 展开/收起按钮样式 */
.expand-toggle-btn[data-v-844cc05c] {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: #6b7280;
  transition: all 0.2s ease;
  font-size: 20px;
}
.expand-toggle-btn[data-v-844cc05c]:hover {
  background-color: #f3f4f6;
  color: #374151;
  transform: scale(1.1);
}
.expand-toggle-btn svg[data-v-844cc05c] {
  transition: transform 0.3s ease;
}
.expand-toggle-btn.expanded svg[data-v-844cc05c] {
  transform: rotate(0deg);
}
.expand-toggle-btn:not(.expanded) svg[data-v-844cc05c] {
  transform: rotate(180deg);
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntStat.vue?vue&type=style&index=0&id=73becd8a&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.ent-stat[data-v-73becd8a] {
  padding: 20px;
}
.stat-cards[data-v-73becd8a] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.stat-card[data-v-73becd8a] {
  flex: 1;
  min-width: 280px;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 0 3px 2px rgba(0, 0, 0, 0.05);
  border: 1px solid #e8e8e8;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

/* 本周卡片 - 浅蓝渐变 */
.week-card[data-v-73becd8a] {
  background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 100%);
}

/* 本月卡片 - 浅黄渐变 */
.month-card[data-v-73becd8a] {
  background: linear-gradient(135deg, #fffef0 0%, #fffce6 100%);
}

/* 本季度卡片 - 浅绿渐变 */
.quarter-card[data-v-73becd8a] {
  background: linear-gradient(135deg, #f0fff0 0%, #e6ffe6 100%);
}
.stat-card[data-v-73becd8a]:hover {
  border-color: #d0d0d0;
}

/* 卡片内容 */
.card-content[data-v-73becd8a] {
  padding: 12px 20px;
  display: flex;
  height: 80px;
}

/* 左侧部分 - 时间周期 + 签约 */
.left-section[data-v-73becd8a] {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.period-title[data-v-73becd8a] {
  font-size: 16px;
  font-weight: 700;
  color: #2c3e50;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.period-icon[data-v-73becd8a] {
  color: #1976d2;
  opacity: 0.8;
}
.signing-section[data-v-73becd8a] {
  display: flex;
  align-items: flex-end;
  gap: 12px;
}
.signing-label[data-v-73becd8a] {
  font-size: 14px;
  font-weight: 600;
  color: #666;
  letter-spacing: 0.3px;
}
.signing-value[data-v-73becd8a] {
  display: flex;
  align-items: flex-end;
  gap: 12px;
}
.main-number[data-v-73becd8a] {
  font-size: 36px;
  font-weight: 600;
  color: #1976d2;
  line-height: 1;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.signing-icons[data-v-73becd8a] {
  display: flex;
  gap: 6px;
}
.signing-icon-item[data-v-73becd8a] {
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 3px 6px;
  background: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e9ecef;
}
.signing-icon[data-v-73becd8a] {
  opacity: 0.8;
}
.signing-icon-count[data-v-73becd8a] {
  font-size: 12px;
  font-weight: 600;
  color: #1976d2;
  line-height: 1;
}

/* 右侧部分 - 发现、联系、推进 */
.right-section[data-v-73becd8a] {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-left: 20px;
}
.metric-item[data-v-73becd8a] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  transition: all 0.2s ease;
}
.metric-item[data-v-73becd8a]:hover {
  background: #e8f0fe;
  border-left-color: #1976d2;
  transform: translateX(2px);
}
.metric-label[data-v-73becd8a] {
  font-size: 12px;
  font-weight: 600;
  color: #888;
  letter-spacing: 0.3px;
}
.metric-value[data-v-73becd8a] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 8px;
}
.metric-number[data-v-73becd8a] {
  font-size: 15px;
  font-weight: 700;
  color: #1976d2;
  line-height: 1;
}
.metric-icons[data-v-73becd8a] {
  display: flex;
  gap: 4px;
}
.metric-icon-item[data-v-73becd8a] {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px 4px;
  background: white;
  border-radius: 3px;
  border: 1px solid #e0e0e0;
}
.metric-icon[data-v-73becd8a] {
  opacity: 0.7;
}
.metric-icon-count[data-v-73becd8a] {
  font-size: 10px;
  font-weight: 600;
  color: #666;
  line-height: 1;
}

/* 响应式设计 */
@media (max-width: 768px) {
.stat-cards[data-v-73becd8a] {
    flex-direction: column;
    gap: 12px;
}
.stat-card[data-v-73becd8a] {
    min-width: auto;
}
.card-content[data-v-73becd8a] {
    padding: 16px;
    height: auto;
    flex-direction: column;
}
.left-section[data-v-73becd8a] {
    margin-bottom: 16px;
}
.period-title[data-v-73becd8a] {
    font-size: 14px;
    margin-bottom: 8px;
}
.main-number[data-v-73becd8a] {
    font-size: 28px;
}
.right-section[data-v-73becd8a] {
    width: 100%;
    padding-left: 0;
    gap: 8px;
}
.metric-item[data-v-73becd8a] {
    padding: 6px 10px;
}
.metric-label[data-v-73becd8a] {
    font-size: 12px;
}
.metric-number[data-v-73becd8a] {
    font-size: 16px;
}
}
@media (max-width: 480px) {
.ent-stat[data-v-73becd8a] {
    margin-bottom: 16px;
}
.stat-cards[data-v-73becd8a] {
    gap: 8px;
}
.card-content[data-v-73becd8a] {
    padding: 12px;
}
.period-title[data-v-73becd8a] {
    font-size: 13px;
}
.main-number[data-v-73becd8a] {
    font-size: 28px;
}
.signing-section[data-v-73becd8a] {
    gap: 8px;
}
.signing-label[data-v-73becd8a] {
    font-size: 12px;
}
.right-section[data-v-73becd8a] {
    gap: 6px;
}
.metric-item[data-v-73becd8a] {
    padding: 4px 8px;
}
.metric-label[data-v-73becd8a] {
    font-size: 11px;
}
.metric-number[data-v-73becd8a] {
    font-size: 14px;
}
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/ent/EntMgr.vue?vue&type=style&index=0&id=ca4b46fe&scoped=true&lang=css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.ent-mgr[data-v-ca4b46fe] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ent-mgr-content[data-v-ca4b46fe] {
  background-color: white;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ent-mgr-body[data-v-ca4b46fe] {
  flex: 1;
  overflow: hidden;
}
.content-layout[data-v-ca4b46fe] {
  display: flex;
  height: 100%;
}
.category-tree[data-v-ca4b46fe] {
  min-width: 280px;
  background-color: #f8f9fa;
  border-right: 1px solid #e1e4e8;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.tree-header[data-v-ca4b46fe] {
  padding: 16px 20px;
  background-color: #e9ecef;
  border-bottom: 1px solid #dee2e6;
}
.tree-header h4[data-v-ca4b46fe] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #495057;
}
.tree-content[data-v-ca4b46fe] {
  flex: 1;
  padding: 16px 0;
}
.tree-node[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 13px;
  color: #495057;
  transition: all 0.2s;
  border-radius: 6px;
  margin: 2px 12px;
}
.tree-node[data-v-ca4b46fe]:hover {
  background-color: #e9ecef;
}
.tree-node.active[data-v-ca4b46fe] {
  background-color: #e3f2fd;
  color: #1976d2;
  font-weight: 500;
}
.tree-node svg[data-v-ca4b46fe] {
  margin-right: 12px;
  width: 16px;
}
.tree-node span[data-v-ca4b46fe] {
  flex: 1;
}
.tree-node .count[data-v-ca4b46fe] {
  color: #6c757d;
  font-size: 12px;
  background-color: #f8f9fa;
  padding: 2px 6px;
  border-radius: 10px;
  font-weight: 500;
}

/* 客户拓展节点特殊样式 */
.expansion-node[data-v-ca4b46fe] {
  /* 默认状态使用普通样式 */
  background: transparent;
  color: #495057;
  font-weight: 500;
  font-size: 13px;
  padding: 10px 20px;
  border-radius: 6px;
  box-shadow: none;
  position: relative;
  overflow: hidden;
}
.expansion-node[data-v-ca4b46fe]::before {
  display: none; /* 移除默认状态的动画效果 */
}
.expansion-node[data-v-ca4b46fe]:hover {
  background-color: #e9ecef;
  transform: none;
  box-shadow: none;
}
.expansion-node.active[data-v-ca4b46fe] {
  /* 选中状态保持特殊样式 */
  background: linear-gradient(135deg, #ff6b6b, #ff8e53);
  color: white;
  font-weight: 600;
  font-size: 14px;
  padding: 10px 20px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
  position: relative;
  overflow: hidden;
}
.expansion-node.active[data-v-ca4b46fe]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    45deg,
    transparent 30%,
    rgba(255, 255, 255, 0.1) 50%,
    transparent 70%
  );
  animation: shimmer-ca4b46fe 2s infinite;
}
.expansion-node.active[data-v-ca4b46fe]:hover {
  background: linear-gradient(135deg, #ff5252, #ff7043);
  box-shadow: 0 6px 16px rgba(255, 107, 107, 0.4);
}
.expansion-node svg[data-v-ca4b46fe] {
  color: #495057; /* 默认状态下的图标颜色 */
  width: 16px;
  margin-right: 12px;
}
.expansion-node.active svg[data-v-ca4b46fe] {
  color: white; /* 选中状态下的图标颜色 */
  width: 18px;
}
.expansion-node span[data-v-ca4b46fe] {
  color: #495057; /* 默认状态下的文字颜色 */
}
.expansion-node.active span[data-v-ca4b46fe] {
  color: white; /* 选中状态下的文字颜色 */
}
.expansion-badge[data-v-ca4b46fe] {
  background-color: #ff6b6b;
  color: white;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  animation: pulse-ca4b46fe 2s infinite;
}
@keyframes shimmer-ca4b46fe {
0% {
    transform: translateX(-100%);
}
100% {
    transform: translateX(100%);
}
}
@keyframes pulse-ca4b46fe {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.7;
}
}
.tree-parent[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 13px;
  color: #495057;
  font-weight: 500;
  transition: all 0.2s;
  border-radius: 6px;
  margin: 2px 12px;
}
.tree-parent[data-v-ca4b46fe]:hover {
  background-color: #e9ecef;
}
.tree-parent svg[data-v-ca4b46fe] {
  margin-right: 12px;
  width: 16px;
}
.tree-parent span[data-v-ca4b46fe] {
  flex: 1;
}
.toggle-icon[data-v-ca4b46fe] {
  transition: transform 0.2s;
  color: #6c757d;
}
.toggle-icon.expanded[data-v-ca4b46fe] {
  transform: rotate(90deg);
}
.tree-children[data-v-ca4b46fe] {
  background-color: transparent;
  margin-left: 8px;
}
.tree-node.child[data-v-ca4b46fe] {
  padding-left: 32px;
  margin-left: 16px;
  border-left: 2px solid #e9ecef;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tree-node.child svg[data-v-ca4b46fe] {
  width: 14px;
  height: 14px;
  margin-right: 0;
  flex-shrink: 0;
}
.tree-node.child[data-v-ca4b46fe]:hover {
  border-left-color: #1976d2;
}
.clients-grid[data-v-ca4b46fe] {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: visible; /* 允许滚动条显示 */
}

/* 客户拓展模式样式 */
.expansion-mode[data-v-ca4b46fe] {
  display: flex;
  height: 100%;
}
.expansion-list-section[data-v-ca4b46fe] {
  width: 320px;
  flex-shrink: 0;
  height: 100%;
  overflow: hidden;
}
.ent-view-section[data-v-ca4b46fe] {
  flex: 1;
  height: 100%;
  overflow: hidden;
}

/* 普通模式样式 */
.normal-mode[data-v-ca4b46fe] {
  flex: 1;
  height: 100%;
  overflow: visible; /* 允许滚动条显示 */
}

/* 客户拓展客户列表样式 */
.expansion-clients-section[data-v-ca4b46fe] {
  flex: 1;
  height: 100%;
  overflow: hidden;
}

/* 地域二级结构样式 */
.region-group[data-v-ca4b46fe] {
  margin-bottom: 4px;
}
.country-node[data-v-ca4b46fe] {
  font-weight: 500;
  background-color: rgba(0, 0, 0, 0.02);
}
.country-node[data-v-ca4b46fe]:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.country-node.active[data-v-ca4b46fe] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.province-toggle[data-v-ca4b46fe] {
  margin-left: auto;
  transition: transform 0.2s;
  color: #6c757d;
}
.province-toggle.expanded[data-v-ca4b46fe] {
  transform: rotate(90deg);
}
.province-children[data-v-ca4b46fe] {
  margin-left: 16px;
  border-left: 2px solid #e9ecef;
}
.province-node[data-v-ca4b46fe] {
  padding-left: 40px;
  font-size: 12px;
  color: #6c757d;
}
.province-node[data-v-ca4b46fe]:hover {
  background-color: #f8f9fa;
  color: #495057;
}
.province-node.active[data-v-ca4b46fe] {
  background-color: #e8f4fd;
  color: #1565c0;
  border-left-color: #1976d2;
}
.section-title[data-v-ca4b46fe] {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  margin: 0 0 20px 0;
}

/* 企业标签页样式 - 复制自ResourcesContainer */
.filter-section[data-v-ca4b46fe] {
  margin-bottom: 0px;
}
.filter-section-title[data-v-ca4b46fe] {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  margin-bottom: 8px;
  padding: 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
}

/* 模式切换器样式 */
.mode-switcher[data-v-ca4b46fe] {
  display: flex;
  margin: 0 16px 16px 16px;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
}
.switcher-option[data-v-ca4b46fe] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  font-size: 12px;
  color: #666;
}
.switcher-option[data-v-ca4b46fe]:hover {
  background-color: #f8f9fa;
}
.switcher-option.active[data-v-ca4b46fe] {
  background-color: #1976d2;
  color: white;
  font-weight: 500;
}
.switcher-option[data-v-ca4b46fe]:not(:last-child) {
  border-right: 1px solid #ccc;
}
.switcher-option.active[data-v-ca4b46fe]:not(:last-child) {
  border-right-color: #1976d2;
}
.ent-filter-buttons[data-v-ca4b46fe] {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  padding: 12px 8px;
  justify-content: center;
  padding-top: 0;
}
.ent-filter-buttons .filter-button[data-v-ca4b46fe] {
  border: 1px solid #ccc;

  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  min-width: 0;
  flex-shrink: 0;
  padding: 6px 8px;
  border-right-width: 0;
}
.ent-filter-buttons[data-v-ca4b46fe] :first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.ent-filter-buttons[data-v-ca4b46fe] :last-child {
  border-right-width: 1px;
  border-right-width: 1px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.ent-filter-buttons .filter-button[data-v-ca4b46fe]:hover {
  background-color: #f8f9fa;
}
.ent-filter-buttons .filter-button.active[data-v-ca4b46fe] {
  border-color: #1976d2;
  background-color: #1976d2;
  color: white;
  border-right-width: 1px;
}
.ent-filter-buttons .filter-button-content[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
}
.ent-filter-buttons .filter-icon[data-v-ca4b46fe] {
  flex-shrink: 0;
  transition: transform 0.2s ease;
  padding-right: 4px;
}
.ent-filter-buttons .filter-button.active .filter-icon[data-v-ca4b46fe] {
  transform: scale(1.1);
}
.ent-filter-buttons .filter-label[data-v-ca4b46fe] {
  white-space: nowrap;
  font-weight: inherit;
  font-size: 12px;
}

/* 规模分类按钮样式 */
.scale-filter-buttons[data-v-ca4b46fe] {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  padding: 12px 8px;
  justify-content: center;
  padding-top: 0;
}
.scale-filter-buttons .filter-button[data-v-ca4b46fe] {
  border: 1px solid #ccc;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  min-width: 24px;
  flex-shrink: 0;
  padding: 6px 8px;
  border-right-width: 0;
}
.scale-filter-buttons[data-v-ca4b46fe] :first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.scale-filter-buttons[data-v-ca4b46fe] :last-child {
  border-right-width: 1px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.scale-filter-buttons .filter-button[data-v-ca4b46fe]:hover {
  background-color: #f8f9fa;
}
.scale-filter-buttons .filter-button.active[data-v-ca4b46fe] {
  border-color: #1976d2;
  background-color: #1976d2;
  color: white;
  border-right-width: 1px;
}
.scale-filter-buttons .filter-button-content[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.scale-filter-buttons .filter-label[data-v-ca4b46fe] {
  white-space: nowrap;
  font-weight: inherit;
  font-size: 12px;
}

/* 价值分类按钮样式 */
.value-filter-buttons[data-v-ca4b46fe] {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  padding: 12px 8px;
  justify-content: center;
  padding-top: 0;
}
.value-filter-buttons .filter-button[data-v-ca4b46fe] {
  border: 1px solid #ccc;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  min-width: 67px;
  flex-shrink: 0;
  padding: 6px 8px;
  border-right-width: 0;
}
.value-filter-buttons[data-v-ca4b46fe] :first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.value-filter-buttons[data-v-ca4b46fe] :last-child {
  border-right-width: 1px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.value-filter-buttons .filter-button[data-v-ca4b46fe]:hover {
  background-color: #f8f9fa;
}
.value-filter-buttons .filter-button.active[data-v-ca4b46fe] {
  border-color: #1976d2;
  background-color: #1976d2;
  color: white;
  border-right-width: 1px;
}
.value-filter-buttons .filter-button-content[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.value-filter-buttons .filter-label[data-v-ca4b46fe] {
  white-space: nowrap;
  font-weight: inherit;
  font-size: 12px;
}

/* 价值分类图标样式 - 与quotation-stats保持一致 */
.value-filter-buttons .value-icon[data-v-ca4b46fe] {
  flex-shrink: 0;
  margin-right: 6px;
}
.value-filter-buttons .value-icon.a-type[data-v-ca4b46fe] {
  color: #28a745;
}
.value-filter-buttons .value-icon.b-type[data-v-ca4b46fe] {
  color: #e17f00;
}
.value-filter-buttons .value-icon.c-type[data-v-ca4b46fe] {
  color: #dc3545;
}

/* 价值分类选中状态图标颜色 */
.value-filter-buttons .filter-button.active .value-icon.a-type[data-v-ca4b46fe] {
  color: white;
}
.value-filter-buttons .filter-button.active .value-icon.b-type[data-v-ca4b46fe] {
  color: white;
}
.value-filter-buttons .filter-button.active .value-icon.c-type[data-v-ca4b46fe] {
  color: white;
}

/* 销售信号按钮样式 */
.signal-filter-buttons[data-v-ca4b46fe] {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  padding: 12px 8px;
  justify-content: center;
  padding-top: 0;
}
.signal-filter-buttons .filter-button[data-v-ca4b46fe] {
  border: 1px solid #ccc;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  min-width: 67px;
  flex-shrink: 0;
  padding: 6px 8px;
  border-right-width: 0;
}
.signal-filter-buttons[data-v-ca4b46fe] :first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.signal-filter-buttons[data-v-ca4b46fe] :last-child {
  border-right-width: 1px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.signal-filter-buttons .filter-button[data-v-ca4b46fe]:hover {
  background-color: #f8f9fa;
}
.signal-filter-buttons .filter-button.active[data-v-ca4b46fe] {
  border-color: #1976d2;
  background-color: #1976d2;
  color: white;
  border-right-width: 1px;
}
.signal-filter-buttons .filter-button-content[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.signal-filter-buttons .filter-label[data-v-ca4b46fe] {
  white-space: nowrap;
  font-weight: inherit;
  font-size: 12px;
}

/* 下拉框样式 */
.dropdown-input[data-v-ca4b46fe] {
  position: relative;
  margin: 0 16px 16px 16px;
}
.dropdown-display[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.dropdown-display[data-v-ca4b46fe]:hover {
  border-color: #999;
}
.dropdown-text[data-v-ca4b46fe] {
  font-size: 13px;
  color: #333;
  flex: 1;
}
.dropdown-arrow[data-v-ca4b46fe] {
  color: #666;
  transition: transform 0.2s ease;
}
.dropdown-arrow.expanded[data-v-ca4b46fe] {
  transform: rotate(180deg);
}
.dropdown-menu[data-v-ca4b46fe] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border-top: none;
  border-radius: 0 0 4px 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  max-height: 200px;
  overflow-y: auto;
}
.dropdown-item[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-size: 12px;
}
.dropdown-item[data-v-ca4b46fe]:hover {
  background-color: #f8f9fa;
}
.dropdown-item.selected[data-v-ca4b46fe] {
  background-color: #e3f2fd;
  color: #1976d2;
}
.dropdown-item.selected[data-v-ca4b46fe]:hover {
  background-color: #bbdefb;
}
.dropdown-item .count[data-v-ca4b46fe] {
  color: #6c757d;
  font-size: 12px;
  background-color: #f8f9fa;
  padding: 2px 6px;
  border-radius: 10px;
  font-weight: 500;
}

/* 全部选项样式 */
.dropdown-item.all-item[data-v-ca4b46fe] {
  font-weight: 600;
  color: #1976d2;
  background-color: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}
.dropdown-item.all-item[data-v-ca4b46fe]:hover {
  background-color: #e3f2fd;
  color: #1565c0;
}
.dropdown-item.all-item .count[data-v-ca4b46fe] {
  background-color: #e3f2fd;
  color: #1976d2;
  font-weight: 600;
}

/* 分隔线样式 */
.dropdown-divider[data-v-ca4b46fe] {
  height: 1px;
  background-color: #e9ecef;
  margin: 4px 0;
}

/* 树形下拉框样式 */
.dropdown-tree[data-v-ca4b46fe] {
  margin-bottom: 2px;
}
.dropdown-children[data-v-ca4b46fe] {
  margin-left: 16px;
  border-left: 2px solid #e9ecef;
  padding-left: 8px;
}
.country-item[data-v-ca4b46fe] {
  font-weight: 500;
  background-color: rgba(0, 0, 0, 0.02);
}
.country-item[data-v-ca4b46fe]:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.province-item[data-v-ca4b46fe] {
  font-size: 12px;
  color: #6c757d;
  padding-left: 8px;
}
.province-item[data-v-ca4b46fe]:hover {
  background-color: #f8f9fa;
  color: #495057;
}
.tree-toggle[data-v-ca4b46fe] {
  margin-left: auto;
  transition: transform 0.2s;
  color: #6c757d;
  cursor: pointer;
}
.tree-toggle.expanded[data-v-ca4b46fe] {
  transform: rotate(90deg);
}

/* Stage选择器样式 - 完全照搬toolbar.js */
.stage-section[data-v-ca4b46fe] {
  margin-bottom: 16px;
}

/* 状态选择器样式 */
.status-section[data-v-ca4b46fe] {
  margin-bottom: 4px;
}
.status-section-title[data-v-ca4b46fe] {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  margin-bottom: 8px;
  padding: 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
}
.status-filter-buttons[data-v-ca4b46fe] {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  padding: 12px 8px;
  justify-content: center;
  padding-top: 0;
}
.status-filter-buttons .filter-button[data-v-ca4b46fe] {
  border: 1px solid #ccc;
  background-color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  min-width: 0;
  flex-shrink: 0;
  padding: 6px 8px;
  border-right-width: 0;
  width: 35px;
}
.status-filter-buttons[data-v-ca4b46fe] :first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.status-filter-buttons[data-v-ca4b46fe] :last-child {
  border-right-width: 1px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.status-filter-buttons .filter-button[data-v-ca4b46fe]:hover {
  background-color: #f8f9fa;
}
.status-filter-buttons .filter-button.active[data-v-ca4b46fe] {
  border-color: #1976d2;
  background-color: #1976d2;
  color: white;
  border-right-width: 1px;
}
.status-filter-buttons .filter-button-content[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.status-filter-buttons .filter-label[data-v-ca4b46fe] {
  white-space: nowrap;
  font-weight: inherit;
  font-size: 12px;
}
.stage-section-title[data-v-ca4b46fe] {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  margin-bottom: 8px;
  padding: 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.stage-selector[data-v-ca4b46fe] {
  display: flex;
  flex-direction: row;
  background-color: #ffffff;
  border-radius: 4px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  /* border: 1px solid #ccc; */
  margin: 8px 10px;
  font-family: Arial, 'Microsoft Yahei', sans-serif;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.stage-group[data-v-ca4b46fe] {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 100%;
  min-width: 64px;
  flex: 1;
  --triangle-bg-color: white;
  border: 1px solid #ccc;
  border-right: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.stage-group[data-v-ca4b46fe]:hover {
  border-color: #ccc;
}
.stage-group[data-v-ca4b46fe]:hover:last-child {
  border-right-color: #ccc;
}
.stage-group[data-v-ca4b46fe]:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 3px;
  right: -10px;
  width: 20px;
  height: 20px;
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  transform: rotate(-45deg);
  background-color: var(--triangle-bg-color, white);
  clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
  z-index: 1;
}
.stage-group[data-v-ca4b46fe]:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.stage-group[data-v-ca4b46fe]:last-child {
  border-right: 1px solid #ccc;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  min-width: 64px;
  flex: 1;
}
.stage-group.active[data-v-ca4b46fe] {
  border-color: #1976d2;
  color: white;
}
.stage-group.active .stage-header[data-v-ca4b46fe] {
  background-color: #1976d2;
  color: white;
  font-weight: 600;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
.stage-group.active[data-v-ca4b46fe]:not(:last-child)::after {
  border-right-color: #1976d2;
  border-bottom-color: #1976d2;
}
.stage-group.active[data-v-ca4b46fe]:last-child {
  border-right-color: #1976d2;
}

/* 当某个group被选中时，它后面的group的左边triangle也要变active */
.stage-group.active + .stage-group[data-v-ca4b46fe]::before {
  border-left-color: #1976d2;
  border-bottom-color: #1976d2;
}

/* 当某个group被选中时，它前面的group的右边triangle也要变active */
.stage-group[data-v-ca4b46fe]:has(+ .stage-group.active)::after {
  border-right-color: #1976d2;
  border-bottom-color: #1976d2;
}
.stage-group:not(:first-child):not(:last-child) .stage-header[data-v-ca4b46fe] {
  padding-left: 10px;
}
.stage-header[data-v-ca4b46fe] {
  height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #444;
  font-size: 11px;
  font-weight: bold;
  color: #222;
  position: relative;
  overflow: hidden;
  background-color: white;
  padding-left: 6px;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.stage-header[data-v-ca4b46fe] :last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.stage-header-content[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
}
.stage-header-content .header-text[data-v-ca4b46fe] {
  font-size: 12px;
  font-weight: 400;
  color: #222;
}
.stage-buttons[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  height: 36px;
}
.stage-button[data-v-ca4b46fe] {
  background: none;
  border: none;
  border-radius: 4px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  margin: 0 2px;
  transition: all 0.2s ease;
  color: #333;
}
.stage-button[data-v-ca4b46fe]:hover {
  background: rgba(0, 0, 0, 0.1);
}
.stage-button[data-v-ca4b46fe]:active {
  background: rgba(0, 0, 0, 0.2);
}

/* 重置按钮 */
.tree-header[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.reset-filters-btn[data-v-ca4b46fe] {
  border: 1px solid #d9d9d9;
  background: #fff;
  color: #333;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  line-height: 1.2;
}
.reset-filters-btn[data-v-ca4b46fe]:hover {
  border-color: #1890ff;
  color: #1890ff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

/* Stage状态样式 */
.stage-group.prospect-group[data-v-ca4b46fe] {
  --triangle-bg-color: white;
}
.stage-group.prospect-group .stage-header[data-v-ca4b46fe] {
  background-color: white;
  color: #333;
}
.stage-group.prospect-group.active[data-v-ca4b46fe] {
  --triangle-bg-color: #1976d2;
}
.stage-group.prospect-group.active .stage-header[data-v-ca4b46fe] {
  background-color: #1976d2;
  color: white;
}
.stage-group.prospect-group.active .stage-header-content .header-text[data-v-ca4b46fe] {
  color: white;
}
.stage-group.engaged-group[data-v-ca4b46fe] {
  --triangle-bg-color: white;
}
.stage-group.engaged-group .stage-header[data-v-ca4b46fe] {
  background-color: white;
  color: #333;
}
.stage-group.engaged-group.active[data-v-ca4b46fe] {
  --triangle-bg-color: #1976d2;
}
.stage-group.engaged-group.active .stage-header[data-v-ca4b46fe] {
  background-color: #1976d2;
  color: white;
}
.stage-group.engaged-group.active .stage-header-content .header-text[data-v-ca4b46fe] {
  color: white;
}
.stage-group.interested-group[data-v-ca4b46fe] {
  --triangle-bg-color: white;
}
.stage-group.interested-group .stage-header[data-v-ca4b46fe] {
  background-color: white;
  color: #333;
}
.stage-group.interested-group.active[data-v-ca4b46fe] {
  --triangle-bg-color: #1976d2;
}
.stage-group.interested-group.active .stage-header[data-v-ca4b46fe] {
  background-color: #1976d2;
  color: white;
}
.stage-group.interested-group.active .stage-header-content .header-text[data-v-ca4b46fe] {
  color: white;
}
.stage-group.signing-group[data-v-ca4b46fe] {
  --triangle-bg-color: white;
}
.stage-group.signing-group .stage-header[data-v-ca4b46fe] {
  background-color: white;
  color: #333;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.stage-group.signing-group.active[data-v-ca4b46fe] {
  --triangle-bg-color: #1976d2;
}
.stage-group.signing-group.active .stage-header[data-v-ca4b46fe] {
  background-color: #1976d2;
  color: white;
}
.stage-group.signing-group.active .stage-header-content .header-text[data-v-ca4b46fe] {
  color: white;
}

/* 完成状态样式 */
.stage-group.completed[data-v-ca4b46fe] {
  --triangle-bg-color: white;
}
.stage-group.completed .stage-header[data-v-ca4b46fe] {
  background-color: white;
  color: #333;
}
.stage-group.completed .check-icon[data-v-ca4b46fe] {
  display: block !important;
}

/* 企业详情模态对话框样式 */
.ent-view-modal-overlay[data-v-ca4b46fe] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  backdrop-filter: blur(4px);
}
.ent-view-modal[data-v-ca4b46fe] {
  width: 90%;
  max-width: 1200px;
  height: 90%;
  max-height: 800px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  animation: modalSlideIn-ca4b46fe 0.3s ease-out;
}
@keyframes modalSlideIn-ca4b46fe {
from {
    opacity: 0;
    transform: scale(0.9) translateY(-20px);
}
to {
    opacity: 1;
    transform: scale(1) translateY(0);
}
}

/* 视图Tabs样式 */
.ent-view-tabs-container[data-v-ca4b46fe] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ent-view-tabs-header[data-v-ca4b46fe] {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e1e4e8;
  padding: 0;
}
.tabs-nav[data-v-ca4b46fe] {
  display: flex;
  background-color: #ffffff;
  border-bottom: 1px solid #e1e4e8;
}
.tab-item[data-v-ca4b46fe] {
  display: flex;
  align-items: center;
  padding: 12px 20px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: #6c757d;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
  background-color: #ffffff;
}
.tab-item[data-v-ca4b46fe]:hover {
  color: #495057;
  background-color: #f8f9fa;
}
.tab-item.active[data-v-ca4b46fe] {
  color: #1976d2;
  border-bottom-color: #1976d2;
  background-color: #ffffff;
  font-weight: 600;
}
.tab-item svg[data-v-ca4b46fe] {
  color: inherit;
}
.ent-view-tabs-content[data-v-ca4b46fe] {
  flex: 1;
  overflow: hidden;
}
.tab-panel[data-v-ca4b46fe] {
  height: 100%;
  overflow: hidden;
}

/* 响应式设计 */
@media (max-width: 768px) {
.ent-view-modal[data-v-ca4b46fe] {
    width: 95%;
    height: 95%;
    max-height: none;
}
.tab-item[data-v-ca4b46fe] {
    padding: 10px 16px;
    font-size: 13px;
}
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/SalesAssistant.vue?vue&type=style&index=0&id=71d29eec&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.content-container[data-v-71d29eec] {
  height: 100%;
  width: 100%;
  background-color: #fff;
  overflow: hidden;
}
.content-wrapper[data-v-71d29eec] {
  width: 100%;
  background-color: #f8f8f8;
  height: 100%;
  padding: 0 !important;
}
.page-layout[data-v-71d29eec] {
  display: flex;
  align-items: stretch;
  height: 100%;
  position: relative;
}
.left-panel[data-v-71d29eec],
.right-panel[data-v-71d29eec] {
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.left-panel[data-v-71d29eec] {
  flex: 0 0 auto;
  position: relative;
}
.right-panel[data-v-71d29eec] {
  flex: 1;
  min-width: 320px;
}
.right-panel-content[data-v-71d29eec] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
}
.right-panel-content[data-v-71d29eec] > * {
  transition: height 0.3s ease;
  overflow: hidden;
  min-height: 0;
}
.mailbox-header[data-v-71d29eec] {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #e0e0e0;
  gap: 8px;
}
.panel-title[data-v-71d29eec] {
  margin: 0;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 8px;
}
.panel-title .title-icon[data-v-71d29eec] {
  color: #333 !important;
  flex-shrink: 0;
}
.header-buttons[data-v-71d29eec] {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-left: auto;
}
.ent-mgr-btn[data-v-71d29eec] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #f5f5f5;
  color: #666;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 500;
}
.new-customer-btn[data-v-71d29eec] {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #1976d2;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.new-customer-btn[data-v-71d29eec]:hover {
  background-color: #1565c0;
}

/* 企业搜索框样式 - 直接复制EmailSearch的样式 */
.company-search-container[data-v-71d29eec] {
  flex: 1;
  max-width: 400px;
  margin: 0 8px;
}
.search-box[data-v-71d29eec] {
  width: 100%;
}
.search-input-wrapper[data-v-71d29eec] {
  position: relative;
  display: flex;
  align-items: center;
  background: #f8f9fa;
  border: 1px solid #e1e4e8;
  border-radius: 20px;
  padding: 0 12px;
  transition: all 0.2s ease;
}
.search-input-wrapper[data-v-71d29eec]:focus-within {
  background: white;
  border-color: #0366d6;
  box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.1);
}
.search-icon[data-v-71d29eec] {
  color: #6a737d;
  margin-right: 8px;
  flex-shrink: 0;
  transition: color 0.2s ease;
}
.search-icon[data-v-71d29eec]:hover {
  color: #0366d6;
}
.search-input[data-v-71d29eec] {
  flex: 1;
  border: none;
  background: transparent;
  padding: 8px 0;
  font-size: 14px;
  color: #24292e;
  outline: none;
}
.search-input[data-v-71d29eec]::-moz-placeholder {
  color: #6a737d;
}
.search-input[data-v-71d29eec]::placeholder {
  color: #6a737d;
}
.clear-btn[data-v-71d29eec] {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #6a737d;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.clear-btn[data-v-71d29eec]:hover {
  background: #e1e4e8;
  color: #24292e;
}
.resizer[data-v-71d29eec] {
  position: absolute;
  z-index: 100;
  background-color: #e0e0e0;
  transition: background-color 0.2s;
}
.vertical-resizer[data-v-71d29eec] {
  width: 1px;
  height: 100%;
  cursor: col-resize;
  top: 0;
}
.resizer[data-v-71d29eec]:hover,
.resizer[data-v-71d29eec]:active {
  background-color: #1976d2;
}

/* 媒体查询，适配小屏幕 */
@media (max-width: 1200px) {
.page-layout[data-v-71d29eec] {
    flex-direction: column;
    height: auto;
}
.left-panel[data-v-71d29eec],
  .right-panel[data-v-71d29eec] {
    width: 100% !important;
    margin-bottom: 16px;
    height: auto;
    min-height: 400px;
}
.vertical-resizer[data-v-71d29eec] {
    display: none;
}
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/FloatingGuide.vue?vue&type=style&index=0&id=192bc0d4&scoped=true&lang=css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.floating-guide[data-v-192bc0d4] {
  background: rgba(0, 0, 0, 0.8) !important;
  color: #ffffff !important;
  padding: 10px 20px !important; /* 增加内边距：上下16px，左右20px */
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  animation: guideFadeIn-192bc0d4 0.3s ease-in-out !important;
  backdrop-filter: blur(10px) !important;
  white-space: pre-wrap !important;
  max-width: 300px !important;
  min-width: 200px !important;
  position: fixed !important;
  z-index: 2147483647 !important;
  pointer-events: auto !important;
  /* 移除固定的left和top，让JavaScript控制位置 */
  transform: none !important;
}
.guide-content[data-v-192bc0d4] {
  position: relative !important;
}
.guide-text[data-v-192bc0d4] {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  color: #ffffff !important;
  margin-bottom: 0 !important; /* 默认无间距 */
}
.guide-buttons[data-v-192bc0d4] {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 0; /* 默认无间距 */
}
.countdown-container[data-v-192bc0d4] {
  display: flex;
  justify-content: center;
  margin: 0; /* 默认无间距 */
}

/* 当有按钮时，为文本添加底部间距 */
.guide-text.has-buttons[data-v-192bc0d4] {
  margin-bottom: 10px;
}

/* 当有倒计时时，为文本添加底部间距 */
.guide-text.has-countdown[data-v-192bc0d4] {
  margin-bottom: 10px;
}

/* 当倒计时后有按钮时，为倒计时添加底部间距 */
.countdown-container.has-buttons[data-v-192bc0d4] {
  margin-bottom: 10px;
}
.guide-button[data-v-192bc0d4] {
  padding: 6px 12px;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  background: #667eea;
  color: white;
}
.guide-button[data-v-192bc0d4]:hover {
  background: #5a6fd8;
  transform: translateY(-1px);
}
.guide-button.primary[data-v-192bc0d4] {
  background: #667eea;
  color: white;
}
.guide-button.secondary[data-v-192bc0d4] {
  background: #6c757d;
  color: white;
}
.guide-button.danger[data-v-192bc0d4] {
  background: #dc3545;
  color: white;
}
.guide-button.success[data-v-192bc0d4] {
  background: #28a745;
  color: white;
}
.countdown-container[data-v-192bc0d4] {
  display: flex;
  justify-content: center;
  margin: 0; /* 移除间距 */
}
.countdown-circle[data-v-192bc0d4] {
  position: relative;
  width: 40px;
  height: 40px;
}
.countdown-svg[data-v-192bc0d4] {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.countdown-bg[data-v-192bc0d4] {
  fill: none;
  stroke: rgba(255, 255, 255, 0.2);
  stroke-width: 3;
}
.countdown-progress[data-v-192bc0d4] {
  fill: none;
  stroke: #667eea;
  stroke-width: 3;
  stroke-linecap: round;
  transition: stroke-dasharray 0.3s ease;
}
.countdown-text[data-v-192bc0d4] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
}
@keyframes guideFadeIn-192bc0d4 {
from {
    opacity: 0;
    transform: translateY(-10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/IntroPage.vue?vue&type=style&index=0&id=2f8fe8d1&scoped=true&lang=css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 全局宽度控制 */
[data-v-2f8fe8d1] {
  box-sizing: border-box;
}
.intro-page[data-v-2f8fe8d1] {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 20px;
  font-family: 'Arial', sans-serif;
  position: relative;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
}
.extension-check[data-v-2f8fe8d1] {
  display: flex;
  justify-content: center;
  align-items: stretch;
  min-height: calc(100vh - 40px);
  padding: 0;
  overflow: visible;
}

/* 等待状态样式 */
.waiting-status[data-v-2f8fe8d1] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 15px 25px;
  border-radius: 12px;
  margin-top: 15px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  animation: statusPulse-2f8fe8d1 2s ease-in-out infinite;
}
.waiting-icon[data-v-2f8fe8d1] {
  font-size: 1.5rem;
  animation: spin-2f8fe8d1 2s linear infinite;
}
.waiting-text[data-v-2f8fe8d1] {
  text-align: center;
}
.waiting-text h3[data-v-2f8fe8d1] {
  margin: 0 0 5px 0;
  font-size: 1.1rem;
  font-weight: 600;
}
.waiting-text p[data-v-2f8fe8d1] {
  margin: 0;
  font-size: 0.9rem;
  opacity: 0.9;
}
.waiting-dots[data-v-2f8fe8d1] {
  display: flex;
  gap: 6px;
}
.dot[data-v-2f8fe8d1] {
  width: 6px;
  height: 6px;
  background: white;
  border-radius: 50%;
  animation: dotPulse-2f8fe8d1 1.4s ease-in-out infinite;
}
.dot[data-v-2f8fe8d1]:nth-child(2) {
  animation-delay: 0.2s;
}
.dot[data-v-2f8fe8d1]:nth-child(3) {
  animation-delay: 0.4s;
}
@keyframes statusPulse-2f8fe8d1 {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.8;
}
}
@keyframes spin-2f8fe8d1 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
@keyframes dotPulse-2f8fe8d1 {
0%,
  80%,
  100% {
    transform: scale(0.8);
    opacity: 0.5;
}
40% {
    transform: scale(1.2);
    opacity: 1;
}
}
.check-container[data-v-2f8fe8d1] {
  background: white;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
  height: auto;
  min-height: calc(100vh - 40px);
  overflow: visible;
  display: flex;
  flex-direction: column;
}
.header-section[data-v-2f8fe8d1] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 20px 30px;
  text-align: center;
}
.header-section h1[data-v-2f8fe8d1] {
  font-size: 2rem;
  margin: 0 0 8px 0;
  font-weight: 700;
}
.subtitle[data-v-2f8fe8d1] {
  font-size: 1rem;
  opacity: 0.9;
  margin: 0;
}
.content-wrapper[data-v-2f8fe8d1] {
  display: flex;
  flex: 1;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}
.left-section[data-v-2f8fe8d1],
.right-section[data-v-2f8fe8d1] {
  padding: 20px;
  box-sizing: border-box;
}
.left-section[data-v-2f8fe8d1] {
  background: #f8f9fa;
  border-right: 1px solid #e9ecef;
  flex: 2;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.right-section[data-v-2f8fe8d1] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  justify-content: flex-start;
}
.section-header[data-v-2f8fe8d1] {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.icon-placeholder[data-v-2f8fe8d1] {
  font-size: 2rem;
  margin-right: 15px;
  width: 60px;
  height: 60px;
  background: #667eea;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
.section-header h2[data-v-2f8fe8d1] {
  margin: 0;
  color: #333;
  font-size: 1.5rem;
}
.download-subtitle[data-v-2f8fe8d1] {
  margin: 15px 0 20px 0;
}
.download-subtitle p[data-v-2f8fe8d1] {
  margin: 0;
  color: #666;
  font-size: 0.85rem;
  font-weight: normal;
}
.steps-container[data-v-2f8fe8d1] {
  margin-bottom: 15px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 12px;
  flex: 1;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-y: auto;
  min-height: 0;
}
.step-item[data-v-2f8fe8d1] { 
  display: flex;
  align-items: stretch;
  padding: 15px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  min-height: 160px;
  max-height: 300px;
  height: auto;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  gap: 15px;
}
.step-left[data-v-2f8fe8d1] {
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: flex-start;
  padding-top: 10px;
}
.step-number[data-v-2f8fe8d1] {
  color: #333;
  font-size: 5.5rem;
  font-weight: 300;
  font-family: 'Arial', sans-serif;
  margin-bottom: 8px;
  line-height: 1;
}
.step-content[data-v-2f8fe8d1] {
  flex: 1;
}
.step-content h3[data-v-2f8fe8d1] {
  margin: 0 0 6px 0;
  color: #333;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
}
.step-content p[data-v-2f8fe8d1] {
  margin: 0;
  color: #666;
  line-height: 1.4;
  font-size: 0.8rem;
}
.action-area[data-v-2f8fe8d1] {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 20px;
}
.primary-button[data-v-2f8fe8d1],
.secondary-button[data-v-2f8fe8d1] {
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s;
}
.primary-button[data-v-2f8fe8d1] {
  background: #667eea;
  color: white;
}
.primary-button[data-v-2f8fe8d1]:hover {
  background: #5a6fd8;
  transform: translateY(-2px);
}
.secondary-button[data-v-2f8fe8d1] {
  background: #6c757d;
  color: white;
}
.secondary-button[data-v-2f8fe8d1]:hover {
  background: #5a6268;
  transform: translateY(-2px);
}
.download-options[data-v-2f8fe8d1] {
  display: flex;
  gap: 15px;
  margin-bottom: 15px;
  justify-content: space-between;
  flex-shrink: 0;
}
.browser-card[data-v-2f8fe8d1] {
  background: white;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  padding: 15px 12px;
  text-align: center;
  flex: 1;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 80px;
}
.browser-card[data-v-2f8fe8d1]:hover {
  border-color: #667eea;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.15);
}
.browser-logo[data-v-2f8fe8d1] {
  font-size: 1.5rem;
}
.browser-name[data-v-2f8fe8d1] {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
}
.step-image[data-v-2f8fe8d1] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 100%;
  aspect-ratio: 1;
  margin-left: 15px;
  /* max-width: 200px; */
  min-width: 120px;
  min-height: 120px;
}

/* 占位图片样式 */
.placeholder-image[data-v-2f8fe8d1] {
  width: 100%;
  height: 100%;
  background: #f8f9fa;
  border: 2px dashed #dee2e6;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6c757d;
  font-size: 0.8rem;
  margin: 0;
}
.download-button[data-v-2f8fe8d1] {
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.3s;
  color: white;
  width: 100%;
}
.download-button.chrome[data-v-2f8fe8d1] {
  background: #4285f4;
}
.download-button.chrome[data-v-2f8fe8d1]:hover {
  background: #3367d6;
  transform: translateY(-2px);
}
.download-button.firefox[data-v-2f8fe8d1] {
  background: #ff7139;
}
.download-button.firefox[data-v-2f8fe8d1]:hover {
  background: #e55a2b;
  transform: translateY(-2px);
}
.download-button.edge[data-v-2f8fe8d1] {
  background: #0078d4;
}
.download-button.edge[data-v-2f8fe8d1]:hover {
  background: #006cbd;
  transform: translateY(-2px);
}
.manual-install[data-v-2f8fe8d1] {
  background: #f8f9fa;
  padding: 15px;
  border-radius: 12px;
  border-left: 4px solid #667eea;
  /* margin-top: auto; */
  overflow-y: auto;
  max-height: 200px;
}
.manual-install h3[data-v-2f8fe8d1] {
  margin: 0 0 10px 0;
  color: #333;
  font-size: 0.95rem;
}
.manual-install ol[data-v-2f8fe8d1] {
  margin: 0;
  padding-left: 16px;
  color: #666;
  line-height: 1.5;
  font-size: 0.85rem;
}
.manual-install li[data-v-2f8fe8d1] {
  margin-bottom: 5px;
}


/* 响应式设计 - 小屏幕 */
@media (max-width: 768px) {
.content-wrapper[data-v-2f8fe8d1] {
    flex-direction: column;
}
.left-section[data-v-2f8fe8d1] {
    border-right: none;
    border-bottom: 1px solid #e9ecef;
    flex: none;
    overflow: visible;
}
.right-section[data-v-2f8fe8d1] {
    flex: none;
}
.header-section h1[data-v-2f8fe8d1] {
    font-size: 2rem;
}
.action-area[data-v-2f8fe8d1] {
    justify-content: center;
}
.download-options[data-v-2f8fe8d1] {
    flex-direction: column;
    align-items: center;
}
.browser-card[data-v-2f8fe8d1] {
    max-width: 200px;
    min-height: 60px;
}
.manual-install[data-v-2f8fe8d1] {
    max-height: 150px;
}
.steps-container[data-v-2f8fe8d1] {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 12px;
    overflow-y: visible;
}

  /* 开始教学部分响应式设计 */
.tutorial-subtitle[data-v-2f8fe8d1] {
    margin: 10px 0 15px 0;
}
.tutorial-subtitle h3[data-v-2f8fe8d1] {
    font-size: 1rem;
    margin-top: 15px;
}
.tutorial-subtitle p[data-v-2f8fe8d1],
  .tutorial-subtitle li[data-v-2f8fe8d1] {
    font-size: 0.9rem;
}
.tutorial-card[data-v-2f8fe8d1] {
    margin: 10px 0;
    padding: 16px;
}
.card-header[data-v-2f8fe8d1] {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 15px;
}
.status-icon[data-v-2f8fe8d1] {
    width: 40px;
    height: 40px;
    font-size: 1.5rem;
}
.status-text[data-v-2f8fe8d1] {
    font-size: 1rem;
}
.card-content[data-v-2f8fe8d1] {
    margin-bottom: 20px;
}
.ready-text[data-v-2f8fe8d1],
  .waiting-text[data-v-2f8fe8d1] {
    font-size: 0.9rem;
}
.tutorial-button[data-v-2f8fe8d1] {
    min-width: 180px;
    min-height: 45px;
    font-size: 14px;
}
.tutorial-tips[data-v-2f8fe8d1] {
    margin-top: 20px;
    padding: 15px;
}
.tutorial-tips li[data-v-2f8fe8d1] {
    font-size: 0.85rem;
    margin-bottom: 10px;
}
.step-item[data-v-2f8fe8d1] {
    flex-direction: column;
    padding: 15px;
    overflow: visible;
    height: auto;
    max-height: none;
    aspect-ratio: unset;
}
.step-left[data-v-2f8fe8d1] {
    padding-right: 0;
    padding-bottom: 15px;
    justify-content: flex-start;
}
.step-number[data-v-2f8fe8d1] {
    font-size: 2rem;
}
.step-image[data-v-2f8fe8d1] {
    flex: none;
    width: calc(100% - 30px);
    height: 50%;
    aspect-ratio: 1;
    margin: 0 auto;
}

  /* 等待状态响应式设计 */
.waiting-status[data-v-2f8fe8d1] {
    flex-direction: column;
    gap: 10px;
    padding: 12px 20px;
}
.waiting-text h3[data-v-2f8fe8d1] {
    font-size: 1rem;
}
.waiting-text p[data-v-2f8fe8d1] {
    font-size: 0.8rem;
}
}
.tutorial-container[data-v-2f8fe8d1] {
  max-width: 500px;
  margin: 0 auto;
  background: white;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

/* 教学结束容器 */
.finish-container[data-v-2f8fe8d1] {
  max-width: 1200px;
  margin: 0 auto;
  background: white;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

/* 简化的新闻网站样式 */
.news-website[data-v-2f8fe8d1] {
  background: white;
  border: 5px solid #f0f0f0;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 20px;
  width: calc(100% - 20px);
  max-width: calc(100% - 20px);
  margin: 10px;
  border-radius: 12px;
  box-sizing: border-box;
}

/* .news-container {
  width: fit-content;
} */
.news-list[data-v-2f8fe8d1] {
  gap: 20px;
  background: white;
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 0;
}
.news-item[data-v-2f8fe8d1] {
  background: white;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  padding: 24px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.news-item[data-v-2f8fe8d1]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  border-color: #e0e0e0;
}
.news-title[data-v-2f8fe8d1] {
  font-size: 1.4rem;
  font-weight: 600;
  color: #1d1d1f;
  margin: 0 0 12px 0;
  line-height: 1.3;
  letter-spacing: -0.3px;
}
.news-summary[data-v-2f8fe8d1] {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
  margin: 0 0 16px 0;
  font-weight: 400;
}
.news-date[data-v-2f8fe8d1] {
  font-size: 0.85rem;
  color: #999;
  font-weight: 500;
}
.subscription-config[data-v-2f8fe8d1] {
  margin-bottom: 40px;
  text-align: left;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.subscription-config h3[data-v-2f8fe8d1] {
  color: #333;
  margin-bottom: 20px;
  font-size: 18px;
}
.config-item[data-v-2f8fe8d1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.config-item label[data-v-2f8fe8d1] {
  font-weight: bold;
  color: #333;
}
.config-item input[data-v-2f8fe8d1],
.config-item select[data-v-2f8fe8d1] {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
}
.notification-options[data-v-2f8fe8d1] {
  display: flex;
  gap: 20px;
}
.notification-options label[data-v-2f8fe8d1] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: normal;
}
.action-buttons[data-v-2f8fe8d1] {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  gap: 20px;
}
.prev-button[data-v-2f8fe8d1],
.next-button[data-v-2f8fe8d1],
.complete-button[data-v-2f8fe8d1],
.main-button[data-v-2f8fe8d1],
.restart-button[data-v-2f8fe8d1] {
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.3s;
}
.prev-button[data-v-2f8fe8d1] {
  background: #6c757d;
  color: white;
}
.prev-button[data-v-2f8fe8d1]:hover {
  background: #5a6268;
}
.next-button[data-v-2f8fe8d1],
.complete-button[data-v-2f8fe8d1] {
  background: #667eea;
  color: white;
}
.next-button[data-v-2f8fe8d1]:hover,
.complete-button[data-v-2f8fe8d1]:hover {
  background: #5a6fd8;
}





/* 完成页面样式 */
.completion-container[data-v-2f8fe8d1] {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px;
  background: white;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.completion-header[data-v-2f8fe8d1] {
  text-align: center;
  margin-bottom: 40px;
}
.completion-icon[data-v-2f8fe8d1] {
  font-size: 4rem;
  margin-bottom: 20px;
}
.completion-header h1[data-v-2f8fe8d1] {
  font-size: 2.5rem;
  font-weight: 600;
  color: #1d1d1f;
  margin: 0 0 10px 0;
  letter-spacing: -0.5px;
}
.completion-subtitle[data-v-2f8fe8d1] {
  font-size: 1.1rem;
  color: #86868b;
  margin: 0;
  font-weight: 400;
}
.completion-content[data-v-2f8fe8d1] {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* 删除重复的CSS规则，保留新的样式定义 */

/* 底部区域布局 */
.bottom-section[data-v-2f8fe8d1] {
  display: flex;
  gap: 40px;
  margin-top: 40px;
}
.console-section[data-v-2f8fe8d1],
.help-section[data-v-2f8fe8d1] {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.console-section[data-v-2f8fe8d1] {
  justify-content: space-between;
}

/* 分割线 */
.divider[data-v-2f8fe8d1] {
  width: 1px;
  background: #e5e5e7;
  margin: 0 20px;
}

/* 删除重复的CSS规则，保留新的样式定义 */
@media (max-width: 768px) {
.intro-page[data-v-2f8fe8d1] {
    padding: 10px;
}
.step-content[data-v-2f8fe8d1] {
    padding: 20px;
}
.action-buttons[data-v-2f8fe8d1] {
    flex-direction: column;
}
.step-indicator[data-v-2f8fe8d1] {
    padding: 20px 10px;
}
.step-dot[data-v-2f8fe8d1] {
    width: 40px;
    height: 40px;
    margin: 0 5px;
}

  /* .news-container {
    max-width: 100%;
  } */
.news-item[data-v-2f8fe8d1] {
    padding: 20px;
}
.news-title[data-v-2f8fe8d1] {
    font-size: 1.2rem;
}

  /* 完成页面响应式设计 */
.completion-container[data-v-2f8fe8d1] {
    max-width: 100%;
    margin: 10px;
    padding: 20px;
}
.bottom-section[data-v-2f8fe8d1] {
    flex-direction: column;
    gap: 30px;
}
.divider[data-v-2f8fe8d1] {
    width: 100%;
    height: 1px;
    margin: 20px 0;
}
.console-methods[data-v-2f8fe8d1] {
    gap: 15px;
}
.help-links[data-v-2f8fe8d1] {
    margin: 15px 0;
    min-height: auto;
}
.console-methods[data-v-2f8fe8d1] {
    min-height: auto;
}
.button-container[data-v-2f8fe8d1] {
    margin-top: 20px;
}

  /* 插件状态详情响应式设计 */
.plugin-status-details[data-v-2f8fe8d1] {
    padding: 12px;
    gap: 10px;
}
.status-item[data-v-2f8fe8d1] {
    gap: 10px;
    padding: 6px 0;
}
.status-icon-small[data-v-2f8fe8d1] {
    width: 24px;
    height: 24px;
    font-size: 1rem;
}
.status-text-small[data-v-2f8fe8d1] {
    font-size: 0.85rem;
}
.status-item[data-v-2f8fe8d1]:hover {
    padding: 6px 8px;
    margin: 0 -8px;
}
}
@keyframes pulse-2f8fe8d1 {
0% {
    box-shadow: 0 0 0 0 rgb(33, 149, 243);
    border-color: rgb(33, 149, 243);
}
70% {
    box-shadow: 0 0 0 10px rgba(33, 150, 243, 0);
    border-color: rgb(33, 149, 243, 0);
}
100% {
    box-shadow: 0 0 0 0 rgba(33, 150, 243, 0);
    border-color: rgb(33, 149, 243, 0);
}
}
@keyframes rainbowGlow-2f8fe8d1 {
0% {
    box-shadow: 0 0 20px rgba(255, 0, 0, 0.8);
    border: 2px solid rgba(255, 0, 0, 0.8);
}
16.67% {
    box-shadow: 0 0 20px rgba(255, 165, 0, 0.8);
    border: 2px solid rgba(255, 165, 0, 0.8);
}
33.33% {
    box-shadow: 0 0 20px rgba(255, 255, 0, 0.8);
    border: 2px solid rgba(255, 255, 0, 0.8);
}
50% {
    box-shadow: 0 0 20px rgba(0, 255, 0, 0.8);
    border: 2px solid rgba(0, 255, 0, 0.8);
}
66.67% {
    box-shadow: 0 0 20px rgba(0, 0, 255, 0.8);
    border: 2px solid rgba(0, 0, 255, 0.8);
}
83.33% {
    box-shadow: 0 0 20px rgba(128, 0, 128, 0.8);
    border: 2px solid rgba(128, 0, 128, 0.8);
}
100% {
    box-shadow: 0 0 20px rgba(255, 0, 0, 0.8);
    border: 2px solid rgba(255, 0, 0, 0.8);
}
}
@keyframes blueBlink-2f8fe8d1 {
0% {
    box-shadow: 0 0 40px rgba(33, 150, 243, 1);
    border: 6px solid rgba(33, 150, 243, 1);
    background-color: rgba(33, 150, 243, 0.2);
}
50% {
    box-shadow: 0 0 60px rgba(33, 150, 243, 0.3);
    border: 6px solid rgba(33, 150, 243, 0.3);
    background-color: rgba(33, 150, 243, 0.05);
}
100% {
    box-shadow: 0 0 40px rgba(33, 150, 243, 1);
    border: 6px solid rgba(33, 150, 243, 1);
    background-color: rgba(33, 150, 243, 0.2);
}
}

/* 移除不需要的样式 */
.demo-hint[data-v-2f8fe8d1],
.instruction-panel[data-v-2f8fe8d1],
.mock-toolbar[data-v-2f8fe8d1] {
  display: none;
}

/* 全局动画类 */
/* .blue-blink-animation {
  animation: blueBlink 1.5s infinite !important;
  border: 6px solid #007bff !important;
  box-shadow: 0 0 40px #007bff !important;
  background-color: rgba(0, 123, 255, 0.1) !important;
  border-radius: 8px !important;
  padding: 10px !important;
  cursor: pointer !important;
  z-index: 2147483647 !important;
} */
.simple-blink-animation[data-v-2f8fe8d1] {
  animation: pulse-2f8fe8d1 1s infinite !important;
  /* border: 5px solid #007bffc7 !important; */
  border-radius: 16px !important;
  cursor: pointer !important;
}

/* 自定义浮动指示器样式 */
.custom-floating-guide[data-v-2f8fe8d1] {
  padding: 20px 24px !important;
  /* 更大的内边距 */
}
.compact-floating-guide[data-v-2f8fe8d1] {
  padding: 8px 12px !important;
  /* 更小的内边距 */
}

/* 测试控制面板样式 */
.test-controls[data-v-2f8fe8d1] {
  position: fixed;
  top: 20px;
  right: 20px;
  background: rgba(255, 255, 255, 0.95);
  border: 2px solid #007aff;
  border-radius: 12px;
  padding: 20px;
  max-width: 300px;
  max-height: 80vh;
  overflow-y: auto;
  z-index: 10000;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
}
.test-controls h3[data-v-2f8fe8d1] {
  margin: 0 0 15px 0;
  color: #007aff;
  font-size: 1.1rem;
  font-weight: 600;
  text-align: center;
}
.test-buttons[data-v-2f8fe8d1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.test-button[data-v-2f8fe8d1] {
  padding: 8px 12px;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s;
  background: #f8f9fa;
  color: #333;
  border: 1px solid #dee2e6;
}
.test-button[data-v-2f8fe8d1]:hover {
  background: #e9ecef;
  transform: translateY(-1px);
}
.test-button.primary[data-v-2f8fe8d1] {
  background: #007aff;
  color: white;
  border-color: #007aff;
}
.test-button.primary[data-v-2f8fe8d1]:hover {
  background: #0056cc;
}
.stop-button[data-v-2f8fe8d1] {
  background: #dc3545;
  color: white;
  border-color: #dc3545;
}
.stop-button[data-v-2f8fe8d1]:hover {
  background: #c82333;
}
.debug-button[data-v-2f8fe8d1] {
  background: #ffc107;
  color: #212529;
  border-color: #ffc107;
}
.debug-button[data-v-2f8fe8d1]:hover {
  background: #e0a800;
}
.tutorial-subtitle[data-v-2f8fe8d1] {
  margin: 15px 0 20px 0;
  text-align: left;
}
.tutorial-subtitle h3[data-v-2f8fe8d1] {
  color: #333;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 8px 0;
  margin-top: 20px;
}
.tutorial-subtitle h3[data-v-2f8fe8d1]:first-child {
  margin-top: 0;
}
.tutorial-subtitle p[data-v-2f8fe8d1] {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0 0 12px 0;
}
.tutorial-subtitle ul[data-v-2f8fe8d1] {
  list-style: none;
  padding-left: 0;
  margin: 0 0 16px 0;
}
.tutorial-subtitle li[data-v-2f8fe8d1] {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 6px;
  padding-left: 20px;
  position: relative;
}
.tutorial-subtitle li[data-v-2f8fe8d1]:before {
  content: '•';
  color: #667eea;
  font-weight: bold;
  position: absolute;
  left: 0;
}

/* 融合的状态和按钮卡片样式 */
.tutorial-card[data-v-2f8fe8d1] {
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  border-radius: 16px;
  padding: 20px;
  margin: 15px 0;
  transition: all 0.3s ease;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.tutorial-card.active[data-v-2f8fe8d1] {
  background: #d4edda;
  border-color: #28a745;
  box-shadow: 0 4px 20px rgba(40, 167, 69, 0.15);
}
.card-header[data-v-2f8fe8d1] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-bottom: 16px;
}
.status-icon[data-v-2f8fe8d1] {
  font-size: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.tutorial-card:not(.active) .status-icon[data-v-2f8fe8d1] {
  animation: spin-2f8fe8d1 2s linear infinite;
}
.status-text[data-v-2f8fe8d1] {
  font-size: 1.2rem;
  font-weight: 600;
  color: #333;
}
.tutorial-card.active .status-text[data-v-2f8fe8d1] {
  color: #155724;
}
.card-content[data-v-2f8fe8d1] {
  margin-bottom: 20px;
  text-align: left;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ready-content h3[data-v-2f8fe8d1],
.waiting-content h3[data-v-2f8fe8d1] {
  color: #333;
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 8px 0;
  margin-top: 16px;
}
.ready-content h3[data-v-2f8fe8d1]:first-child,
.waiting-content h3[data-v-2f8fe8d1]:first-child {
  margin-top: 0;
}
.ready-content p[data-v-2f8fe8d1],
.waiting-content p[data-v-2f8fe8d1] {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0 0 10px 0;
}
.ready-content ul[data-v-2f8fe8d1],
.waiting-content ul[data-v-2f8fe8d1] {
  list-style: none;
  padding-left: 0;
  margin: 0 0 12px 0;
}
.ready-content li[data-v-2f8fe8d1],
.waiting-content li[data-v-2f8fe8d1] {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 4px;
  padding-left: 16px;
  position: relative;
}

/* 教学目的和教学内容区域 */
.teaching-intro[data-v-2f8fe8d1] {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 0;
}
.teaching-intro .intro-section[data-v-2f8fe8d1] {
  margin-bottom: 16px;
}
.teaching-intro .intro-section[data-v-2f8fe8d1]:last-child {
  margin-bottom: 0;
}
.ready-content li[data-v-2f8fe8d1]:before,
.waiting-content li[data-v-2f8fe8d1]:before {
  content: '•';
  color: #667eea;
  font-weight: bold;
  position: absolute;
  left: 0;
}
.ready-text[data-v-2f8fe8d1] {
  color: #155724;
  font-size: 1rem;
  margin: 0;
  line-height: 1.5;
  font-weight: 500;
}
.waiting-text[data-v-2f8fe8d1] {
  color: #6c757d;
  font-size: 1rem;
  margin: 0;
  line-height: 1.5;
  font-weight: 500;
}
.card-action[data-v-2f8fe8d1] {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tutorial-button[data-v-2f8fe8d1] {
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s;
  background: #6c757d;
  color: white;
  border: 2px solid #6c757d;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 200px;
  min-height: 50px;
}
.tutorial-button[data-v-2f8fe8d1]:disabled {
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
}
.tutorial-button[data-v-2f8fe8d1]:not(:disabled):hover {
  transform: translateY(-2px);
}
.tutorial-button[data-v-2f8fe8d1]:hover {
  background: #5a6fd8;
  transform: translateY(-2px);
}
.tutorial-button.active[data-v-2f8fe8d1] {
  background: #667eea;
  border-color: #667eea;
  cursor: pointer;
}
.tutorial-button.pulse[data-v-2f8fe8d1] {
  animation: pulse-2f8fe8d1 1s infinite;
}
.button-content[data-v-2f8fe8d1] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.arrow[data-v-2f8fe8d1] {
  font-size: 1.2rem;
}
.tutorial-tips[data-v-2f8fe8d1] {
  margin-top: 30px;
  background: #f8f9fa;
  padding: 20px;
  border-radius: 12px;
  border-left: 4px solid #667eea;
}
.tutorial-tips h3[data-v-2f8fe8d1] {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin: 0 0 15px 0;
  text-align: center;
}
.tutorial-tips ul[data-v-2f8fe8d1] {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.tutorial-tips li[data-v-2f8fe8d1] {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 12px;
  padding-left: 20px;
  position: relative;
}
.tutorial-tips li[data-v-2f8fe8d1]:before {
  content: '•';
  color: #667eea;
  font-weight: bold;
  position: absolute;
  left: 0;
}
.plugin-status-details[data-v-2f8fe8d1] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.status-item[data-v-2f8fe8d1] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
}
.status-icon-small[data-v-2f8fe8d1] {
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
}
.status-text-small[data-v-2f8fe8d1] {
  font-size: 0.9rem;
  font-weight: 500;
  color: #555;
  line-height: 1.3;
}

/* 状态项悬停效果 */
.status-item[data-v-2f8fe8d1]:hover {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  padding: 8px 12px;
  margin: 0 -12px;
  transition: all 0.2s ease;
}

/* 控制台引导区域 - 移到顶部并更加醒目 */
.console-guide-section[data-v-2f8fe8d1] {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  border-radius: 20px;
  padding: 40px;
  margin-bottom: 40px;
  text-align: left;
  color: white;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
  position: relative;
  overflow: visible;
  border: 1px solid rgba(255, 255, 255, 0.1);
  z-index: 1000;
}
.console-guide-section[data-v-2f8fe8d1]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><defs><pattern id=\"grain\" width=\"100\" height=\"100\" patternUnits=\"userSpaceOnUse\"><circle cx=\"25\" cy=\"25\" r=\"1\" fill=\"white\" opacity=\"0.03\"/><circle cx=\"75\" cy=\"75\" r=\"1\" fill=\"white\" opacity=\"0.03\"/><circle cx=\"50\" cy=\"10\" r=\"0.5\" fill=\"white\" opacity=\"0.03\"/><circle cx=\"10\" cy=\"60\" r=\"0.5\" fill=\"white\" opacity=\"0.03\"/><circle cx=\"90\" cy=\"40\" r=\"0.5\" fill=\"white\" opacity=\"0.03\"/></pattern></defs><rect width=\"100\" height=\"100\" fill=\"url%28%23grain%29\"/></svg>");
  opacity: 0.08;
}
.guide-content-wrapper[data-v-2f8fe8d1] {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  position: relative;
}
.question-mark[data-v-2f8fe8d1] {
  font-size: 16rem;
  color: #ffd700;
  display: block;
  animation: float-2f8fe8d1 3s ease-in-out infinite;
  font-weight: bold;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
  line-height: 1;
  margin-top: -80px;
  margin-inline: -25px;
  flex-shrink: 0;
  position: relative;
  z-index: 100;
}
@keyframes float-2f8fe8d1 {
0%,
  100% {
    transform: translateY(0px);
}
50% {
    transform: translateY(-10px);
}
}
.guide-text-content[data-v-2f8fe8d1] {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.guide-question[data-v-2f8fe8d1] {
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.guide-question h2[data-v-2f8fe8d1] {
  font-size: 3rem;
  font-weight: 700;
  margin: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  animation: questionGlow-2f8fe8d1 2s ease-in-out infinite alternate;
  text-align: left;
  color: white;
}
@keyframes questionGlow-2f8fe8d1 {
0% {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
100% {
    text-shadow: 0 4px 20px rgba(255, 255, 255, 0.3), 0 2px 4px rgba(0, 0, 0, 0.5);
}
}
.guide-explanation[data-v-2f8fe8d1] {
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}
.guide-explanation p[data-v-2f8fe8d1] {
  font-size: 1.3rem;
  line-height: 1.6;
  margin: 0;
  opacity: 0.9;
  max-width: 100%;
  text-align: left;
  color: #f0f0f0;
  font-weight: 400;
}
.console-methods[data-v-2f8fe8d1] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
  margin-bottom: 35px;
  position: relative;
  z-index: 1;
}
.method-item[data-v-2f8fe8d1] {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.2s ease;
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  position: relative;
}

/* 使用更精确的选择器，确保只影响当前悬停的卡片 */
.method-item.hover[data-v-2f8fe8d1] {
  border-color: rgba(0, 0, 0, 0.3);
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.25);
}
.method-item.hover>.method-image[data-v-2f8fe8d1] {
  height: 100%;
  border-bottom: none;
  transition-delay: 0s;
  /* 移除延迟，立即开始扩展 */
}

/* 悬停时PNG和GIF的渐变切换 */
.method-item.hover .method-image-png[data-v-2f8fe8d1] {
  opacity: 0;
}
.method-item.hover .method-image-gif[data-v-2f8fe8d1] {
  opacity: 1;
}
.method-item.hover>.method-content[data-v-2f8fe8d1] {
  transform: scaleY(0);
  opacity: 0;
  padding: 0;
  height: 0;
  overflow: hidden;
  transition-delay: 0s;
  /* 延迟文字收起，等图片先开始扩展 */
}
.method-image[data-v-2f8fe8d1] {
  width: 100%;
  height: 140px;
  overflow: hidden;
  background: linear-gradient(45deg, #f8f9fa, #e9ecef);
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  transition: all 0.1s ease;
  position: relative;
}

/* PNG图片样式 - 默认显示 */
.method-image-png[data-v-2f8fe8d1] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* GIF图片样式 - 悬停时显示 */
.method-image-gif[data-v-2f8fe8d1] {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* 确保占位符在图片下方 */
.image-placeholder[data-v-2f8fe8d1] {
  position: relative;
  z-index: 1;
}
.method-content[data-v-2f8fe8d1] {
  padding: 25px;
  transition: all 0.1s ease;
  transform-origin: top;
}
.method-content h3[data-v-2f8fe8d1] {
  font-size: 1.2rem;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 12px 0;
}
.method-content p[data-v-2f8fe8d1] {
  font-size: 0.95rem;
  color: #333;
  margin: 0;
  line-height: 1.5;
}
.console-action[data-v-2f8fe8d1] {
  text-align: center;
  margin-top: 35px;
  position: relative;
  z-index: 1;
}
.console-button[data-v-2f8fe8d1] {
  background: linear-gradient(135deg, #333 0%, #1a1a1a 100%);
  color: white;
  border: none;
  padding: 18px 48px;
  border-radius: 50px;
  font-size: 1.2rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.4s ease;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
}
.console-button[data-v-2f8fe8d1]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}
.console-button[data-v-2f8fe8d1]:hover::before {
  left: 100%;
}
.console-button[data-v-2f8fe8d1]:hover {
  background: linear-gradient(135deg, #1a1a1a 0%, #000 100%);
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}
.console-button[data-v-2f8fe8d1]:active {
  transform: translateY(-1px) scale(1.01);
}

/* 滚动提示样式 */
.scroll-hint[data-v-2f8fe8d1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0.5;
  transition: all 0.3s ease;
  animation: bounce-2f8fe8d1 2s infinite;
  position: relative;
  margin-top: -110px;
  margin-bottom: -50px;
  /* 向上移动更多，让箭头从黑色卡片下面露出一半 */
  z-index: 500;
  /* 确保在黑色卡片之上 */
}
.scroll-text[data-v-2f8fe8d1] {
  font-size: 0.9rem;
  color: #666;
  font-weight: 500;
}
@keyframes bounce-2f8fe8d1 {
0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
}
40% {
    transform: translateY(-8px);
}
60% {
    transform: translateY(-4px);
}
}

/* 响应式设计调整 */
@media (max-width: 768px) {
.console-guide-section[data-v-2f8fe8d1] {
    padding: 30px 20px;
    margin: 20px;
    border-radius: 16px;
}
.guide-question h2[data-v-2f8fe8d1] {
    font-size: 1.8rem;
}
.guide-explanation p[data-v-2f8fe8d1] {
    font-size: 1rem;
}
.console-methods[data-v-2f8fe8d1] {
    grid-template-columns: 1fr;
    gap: 20px;
}
.console-button[data-v-2f8fe8d1] {
    padding: 16px 40px;
    font-size: 1.1rem;
}
}

/* 功能介绍 */
.feature-section[data-v-2f8fe8d1] {
  margin-bottom: 40px;
  text-align: left;
  padding: 0 20px;
}
.feature-section h2[data-v-2f8fe8d1] {
  font-size: 1.8rem;
  font-weight: 600;
  color: #1d1d1f;
  margin: 0 0 30px 0;
  position: relative;
  text-align: center;
}
.feature-section h2[data-v-2f8fe8d1]::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  border-radius: 2px;
}
.feature-list[data-v-2f8fe8d1] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
}
.feature-item[data-v-2f8fe8d1] {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 25px;
  background: white;
  border: 1px solid #e5e5e7;
  border-radius: 16px;
  transition: all 0.3s ease;
  text-align: left;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.feature-item[data-v-2f8fe8d1]:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
  border-color: #2d2d2d;
}
.feature-icon[data-v-2f8fe8d1] {
  font-size: 2.5rem;
  flex-shrink: 0;
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.feature-text h3[data-v-2f8fe8d1] {
  font-size: 1.2rem;
  font-weight: 600;
  color: #1d1d1f;
  margin: 0 0 10px 0;
}
.feature-text p[data-v-2f8fe8d1] {
  font-size: 0.9rem;
  color: #86868b;
  margin: 0;
  line-height: 1.5;
}

/* 帮助文档区域 */
.help-section[data-v-2f8fe8d1] {
  background: #f8f9fa;
  border-radius: 20px;
  padding: 40px;
  margin-bottom: 40px;
  text-align: left;
  border: 1px solid #e9ecef;
}
.help-section h2[data-v-2f8fe8d1] {
  font-size: 1.8rem;
  font-weight: 600;
  color: #1d1d1f;
  margin: 0 0 15px 0;
  text-align: center;
}
.help-section p[data-v-2f8fe8d1] {
  font-size: 1rem;
  color: #666;
  margin: 0 0 30px 0;
  line-height: 1.6;
  text-align: center;
}
.help-links[data-v-2f8fe8d1] {
  margin: 30px 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-bottom: 30px;
}
.help-link[data-v-2f8fe8d1] {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 20px;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  background: white;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.help-link[data-v-2f8fe8d1]:hover {
  background: #2d2d2d;
  border-color: #2d2d2d;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(45, 45, 45, 0.2);
  color: white;
}
.help-link:hover .help-text[data-v-2f8fe8d1] {
  color: white;
}
.help-icon[data-v-2f8fe8d1] {
  font-size: 1.4rem;
  width: 30px;
  text-align: center;
  flex-shrink: 0;
}
.help-text[data-v-2f8fe8d1] {
  font-size: 1rem;
  color: #333;
  font-weight: 500;
  transition: color 0.3s ease;
}

/* 按钮容器样式 */
.button-container[data-v-2f8fe8d1] {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

/* 简约按钮样式 */
.outline-button[data-v-2f8fe8d1] {
  background: transparent;
  color: #2d2d2d;
  border: 2px solid #2d2d2d;
  padding: 14px 28px;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.outline-button[data-v-2f8fe8d1]:hover {
  background: #2d2d2d;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(45, 45, 45, 0.3);
}
.test-button-container[data-v-2f8fe8d1] {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
}
.test-completion-button[data-v-2f8fe8d1] {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
  white-space: nowrap;
}
.test-completion-button[data-v-2f8fe8d1]:hover {
  background: linear-gradient(135deg, #ff5252 0%, #d63031 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 107, 107, 0.6);
}

/* 控制台高亮样式 */
.console-highlight[data-v-2f8fe8d1] {
  color: #ff8c00;
  text-shadow: 0 0 10px rgba(255, 140, 0, 0.8), 0 0 20px rgba(255, 140, 0, 0.6), 0 0 30px rgba(255, 140, 0, 0.4);
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline;
  padding: 0;
  border-radius: 0;
  background: none;
}
.console-highlight[data-v-2f8fe8d1]:hover {
  transform: scale(1.05);
  color: #ffa500;
  text-shadow: 0 0 15px rgba(255, 140, 0, 1), 0 0 25px rgba(255, 140, 0, 0.8), 0 0 35px rgba(255, 140, 0, 0.6);
  background: none;
}

/* 步骤图片样式 */
.step-image-content[data-v-2f8fe8d1] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.step-image-content[data-v-2f8fe8d1]:hover {
  transform: scale(1.02);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

/* 响应式设计 - 中等屏幕 */
@media (max-width: 650px) {
.steps-container[data-v-2f8fe8d1] {
    grid-template-columns: 1fr;
}
}

/* 响应式设计 - 小屏模式 */
@media (max-width: 480px) {
.step-item[data-v-2f8fe8d1] {
    aspect-ratio: 1;
    height: 300px;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.step-left[data-v-2f8fe8d1] {
    padding-top: 0;
    margin-bottom: 10px;
}
.step-image[data-v-2f8fe8d1] {
    width: calc(100% - 30px);
    aspect-ratio: 1;
    margin: 0 auto 10px auto;
}
.step-image-content[data-v-2f8fe8d1] {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.step-number[data-v-2f8fe8d1] {
    font-size: 3rem;
}
.step-content h3[data-v-2f8fe8d1] {
    font-size: 0.9rem;
}
.step-content p[data-v-2f8fe8d1] {
    font-size: 0.75rem;
}
}

/* 删除重复的样式定义 */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/user/BuyPointsDialog.vue?vue&type=style&index=0&id=11065cdd&scoped=true&lang=css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.buy-points-dialog[data-v-11065cdd] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1500;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.dialog-backdrop[data-v-11065cdd] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1400;
}
.dialog-content[data-v-11065cdd] {
  background: white;
  border-radius: 12px;
  width: 90%;
  max-width: 800px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  z-index: 1500;
  overflow: hidden;
}
.dialog-header[data-v-11065cdd] {
  padding: 24px 32px;
  border-bottom: 1px solid #e9ecef;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f8f9fa;
}
.dialog-header h2[data-v-11065cdd] {
  margin: 0;
  color: #333;
  font-size: 24px;
  font-weight: 600;
}
.close-btn[data-v-11065cdd] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.close-btn[data-v-11065cdd]:hover {
  background: #f0f0f0;
  color: #333;
}
.close-btn svg[data-v-11065cdd] {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.dialog-body[data-v-11065cdd] {
  flex: 1;
  overflow-y: auto;
  padding: 32px;
}

/* 当前余额 */
.current-balance[data-v-11065cdd] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 24px;
  border-radius: 12px;
  margin-bottom: 24px;
  text-align: center;
}
.balance-info[data-v-11065cdd] {
  margin-bottom: 15px;
}
.balance-label[data-v-11065cdd] {
  font-size: 14px;
  opacity: 0.9;
  margin-right: 8px;
}
.balance-amount[data-v-11065cdd] {
  font-size: 24px;
  font-weight: bold;
}
.vip-status[data-v-11065cdd] {
  font-size: 14px;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.vip-badge[data-v-11065cdd] {
  font-size: 16px;
  font-weight: bold;
  background: rgba(255, 255, 255, 0.2);
  padding: 4px 10px;
  border-radius: 20px;
  color: white;
}
.vip-expire[data-v-11065cdd] {
  font-size: 12px;
  opacity: 0.8;
}

/* 模块切换标签 */
.module-tabs[data-v-11065cdd] {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  background: #f8f9fa;
  padding: 8px;
  border-radius: 8px;
}
.tab-btn[data-v-11065cdd] {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  color: #666;
  padding: 12px 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
}
.tab-btn[data-v-11065cdd]:hover {
  background: #e9ecef;
  border-color: #dee2e6;
}
.tab-btn.active[data-v-11065cdd] {
  background: #1976d2;
  color: white;
  border-color: #1976d2;
}
.tab-btn svg[data-v-11065cdd] {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* 套餐卡片 */
.vip-packages[data-v-11065cdd], .points-packages[data-v-11065cdd] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-bottom: 24px;
}
.package-card[data-v-11065cdd] {
  background: white;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
  cursor: pointer;
}
.package-card[data-v-11065cdd]:hover {
  border-color: #1976d2;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(25, 118, 210, 0.15);
}
.package-card.selected[data-v-11065cdd] {
  border-color: #1976d2;
  background: #f0f4ff;
  box-shadow: 0 8px 25px rgba(25, 118, 210, 0.2);
}
.package-header h3[data-v-11065cdd] {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin-bottom: 8px;
}
.package-price[data-v-11065cdd] {
  font-size: 24px;
  color: #667eea;
  font-weight: 700;
  margin-bottom: 8px;
}
.price-symbol[data-v-11065cdd] {
  font-size: 16px;
  margin-right: 4px;
}
.package-duration[data-v-11065cdd] {
  font-size: 14px;
  color: #666;
  margin-bottom: 16px;
  font-weight: 500;
}
.package-points[data-v-11065cdd] {
  font-size: 18px;
  font-weight: 600;
  color: #1976d2;
  margin-bottom: 8px;
}
.package-description[data-v-11065cdd] {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  line-height: 1.4;
}
.package-benefits[data-v-11065cdd] {
  margin-bottom: 16px;
}
.benefit-item[data-v-11065cdd] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 14px;
  color: #666;
}
.benefit-item svg[data-v-11065cdd] {
  width: 12px;
  height: 12px;
  fill: #28a745;
  flex-shrink: 0;
}
.package-bonus[data-v-11065cdd] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  font-size: 13px;
  color: #ff6b35;
  font-weight: 500;
}
.package-bonus svg[data-v-11065cdd] {
  width: 12px;
  height: 12px;
  fill: currentColor;
}
.package-badge[data-v-11065cdd] {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 12px;
  color: #fff;
  background: #667eea;
  padding: 6px 12px;
  border-radius: 20px;
  font-weight: 500;
}

/* 订单摘要 */
.order-summary[data-v-11065cdd] {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 16px;
  margin-top: 20px;
}
.summary-header h4[data-v-11065cdd] {
  margin: 0 0 16px 0;
  color: #333;
  font-size: 16px;
}
.summary-content[data-v-11065cdd] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.summary-item[data-v-11065cdd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
}
.item-label[data-v-11065cdd] {
  color: #666;
  font-weight: 500;
}
.item-value[data-v-11065cdd] {
  font-weight: 600;
  color: #333;
}
.item-value.bonus[data-v-11065cdd] {
  color: #28a745;
}
.summary-total[data-v-11065cdd] {
  border-top: 1px solid #e9ecef;
  padding-top: 8px;
  margin-top: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
}
.total-label[data-v-11065cdd] {
  color: #333;
}
.total-amount[data-v-11065cdd] {
  color: #1976d2;
  font-size: 18px;
}

/* 对话框底部 */
.dialog-footer[data-v-11065cdd] {
  padding: 24px 32px;
  border-top: 1px solid #e9ecef;
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  background: #f8f9fa;
}
.btn-cancel[data-v-11065cdd], .btn-confirm[data-v-11065cdd] {
  padding: 12px 24px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn-cancel[data-v-11065cdd] {
  background: white;
  border: 2px solid #e9ecef;
  color: #666;
}
.btn-cancel[data-v-11065cdd]:hover {
  border-color: #ccc;
  color: #333;
}
.btn-confirm[data-v-11065cdd] {
  background: #1976d2;
  border: none;
  color: white;
}
.btn-confirm[data-v-11065cdd]:hover:not(:disabled) {
  background: #1565c0;
  transform: translateY(-1px);
}
.btn-confirm[data-v-11065cdd]:disabled {
  background: #6c757d;
  cursor: not-allowed;
  opacity: 0.6;
}
.btn-confirm svg[data-v-11065cdd] {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* 响应式设计 */
@media (max-width: 768px) {
.dialog-content[data-v-11065cdd] {
    width: 95%;
    max-height: 95vh;
}
.dialog-header[data-v-11065cdd] {
    padding: 20px 24px;
}
.dialog-header h2[data-v-11065cdd] {
    font-size: 20px;
}
.dialog-body[data-v-11065cdd] {
    padding: 24px;
}
.current-balance[data-v-11065cdd] {
    padding: 20px;
}
.balance-amount[data-v-11065cdd] {
    font-size: 20px;
}
.vip-packages[data-v-11065cdd], .points-packages[data-v-11065cdd] {
    grid-template-columns: 1fr;
    gap: 16px;
}
.package-card[data-v-11065cdd] {
    padding: 20px;
}
.module-tabs[data-v-11065cdd] {
    flex-direction: column;
}
.tab-btn[data-v-11065cdd] {
    padding: 10px 16px;
}
.dialog-footer[data-v-11065cdd] {
    padding: 20px 24px;
    flex-direction: column;
}
.btn-cancel[data-v-11065cdd], .btn-confirm[data-v-11065cdd] {
    width: 100%;
    justify-content: center;
}
}
@media (max-width: 480px) {
.dialog-content[data-v-11065cdd] {
    width: 98%;
    max-height: 98vh;
}
.dialog-header[data-v-11065cdd] {
    padding: 16px 20px;
}
.dialog-body[data-v-11065cdd] {
    padding: 20px;
}
.current-balance[data-v-11065cdd] {
    padding: 16px;
}
.balance-amount[data-v-11065cdd] {
    font-size: 18px;
}
.package-card[data-v-11065cdd] {
    padding: 16px;
}
.package-header h3[data-v-11065cdd] {
    font-size: 16px;
}
.package-price[data-v-11065cdd] {
    font-size: 20px;
}
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/user/PointsManagement.vue?vue&type=style&index=0&id=99fa1aec&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

.points-management[data-v-99fa1aec] {
  padding: 0;
}

/* 概览卡片样式 */
.overview-section[data-v-99fa1aec] {
  margin-bottom: 30px;
}
.overview-cards[data-v-99fa1aec] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}
.overview-card[data-v-99fa1aec] {
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #e9ecef;
  transition: all 0.3s ease;
}
.overview-card[data-v-99fa1aec]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.card-header[data-v-99fa1aec] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.card-header svg[data-v-99fa1aec] {
  color: #667eea;
}
.card-header h3[data-v-99fa1aec] {
  margin: 0;
  font-size: 16px;
  color: #666;
  font-weight: 500;
}
.points-display[data-v-99fa1aec] {
  text-align: center;
  margin-bottom: 20px;
}
.points-number[data-v-99fa1aec] {
  display: block;
  font-size: 32px;
  font-weight: 700;
  color: #333;
  margin-bottom: 4px;
}
.points-label[data-v-99fa1aec] {
  font-size: 14px;
  color: #666;
}
.card-actions[data-v-99fa1aec] {
  display: flex;
  justify-content: center;
}
.btn-primary[data-v-99fa1aec] {
  background: #1976d2;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.btn-primary[data-v-99fa1aec]:hover {
  background: #1565c0;
  transform: translateY(-1px);
}

/* 操作区域样式 */
.actions-section[data-v-99fa1aec] {
  background: white;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #e9ecef;
  margin-bottom: 30px;
}
.action-buttons[data-v-99fa1aec] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}
.action-btn[data-v-99fa1aec] {
  background: white;
  border: 2px solid #e9ecef;
  color: #666;
  padding: 20px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
}
.action-btn[data-v-99fa1aec]:hover {
  border-color: #1976d2;
  color: #1976d2;
  transform: translateX(4px);
}
.action-btn svg[data-v-99fa1aec] {
  color: #667eea;
  flex-shrink: 0;
}

/* 最近记录区域样式 */
.recent-records-section[data-v-99fa1aec] {
  background: white;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #e9ecef;
  margin-bottom: 30px;
}
.view-all-btn[data-v-99fa1aec] {
  background: none;
  border: none;
  color: #1976d2;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.view-all-btn[data-v-99fa1aec]:hover {
  color: #1565c0;
}
.records-list[data-v-99fa1aec] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.record-item[data-v-99fa1aec] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #f8f9fa;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.record-item[data-v-99fa1aec]:hover {
  background: #e9ecef;
  transform: translateX(4px);
}
.record-icon[data-v-99fa1aec] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: white;
}
.record-icon.earn[data-v-99fa1aec] {
  background: #4caf50;
}
.record-icon.consume[data-v-99fa1aec] {
  background: #f44336;
}
.record-icon.expire[data-v-99fa1aec] {
  background: #ff9800;
}
.record-content[data-v-99fa1aec] {
  flex: 1;
}
.record-title[data-v-99fa1aec] {
  font-weight: 600;
  color: #333;
  margin-bottom: 4px;
}
.record-desc[data-v-99fa1aec] {
  color: #666;
  font-size: 14px;
  margin-bottom: 4px;
}
.record-time[data-v-99fa1aec] {
  color: #999;
  font-size: 12px;
}
.record-points[data-v-99fa1aec] {
  font-weight: 600;
  font-size: 16px;
}
.record-points.positive[data-v-99fa1aec] {
  color: #4caf50;
}
.record-points.negative[data-v-99fa1aec] {
  color: #f44336;
}

/* 图表区域 */
.chart-section[data-v-99fa1aec] {
  background: white;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #e9ecef;
  margin-bottom: 30px;
}
.section-header[data-v-99fa1aec] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 2px solid #f0f0f0;
}
.section-header h3[data-v-99fa1aec] {
  margin: 0;
  font-size: 20px;
  color: #333;
  font-weight: 600;
}

/* 图表控制区域样式 */
.chart-controls[data-v-99fa1aec] {
  flex-shrink: 0;
  margin-left: 20px;
}
.chart-controls .control-panel[data-v-99fa1aec] {
  margin-bottom: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
.chart-controls .date-range[data-v-99fa1aec] {
  gap: 8px;
}
.chart-controls .date-input[data-v-99fa1aec] {
  min-width: 100px;
  font-size: 12px;
  padding: 6px 10px 6px 30px;
}
.chart-controls .query-btn[data-v-99fa1aec] {
  padding: 6px 12px;
  font-size: 12px;
  min-height: 32px;
}

/* 积分管理页面中的日志表格样式 */
.management-logs-table[data-v-99fa1aec] {
  margin-top: 0;
}
.management-logs-table .logs-controls[data-v-99fa1aec] {
  margin-bottom: 20px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
.management-logs-table .filter-select[data-v-99fa1aec] {
  min-width: 120px;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}
.management-logs-table .refresh-btn[data-v-99fa1aec] {
  background: #6c757d;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.management-logs-table .refresh-btn[data-v-99fa1aec]:hover:not(:disabled) {
  background: #5a6268;
}
.management-logs-table .refresh-btn[data-v-99fa1aec]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.date-range[data-v-99fa1aec] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.date-input-wrapper[data-v-99fa1aec] {
  position: relative;
  display: flex;
  align-items: center;
}
.date-icon[data-v-99fa1aec] {
  position: absolute;
  left: 12px;
  color: #9aa0a6;
  pointer-events: none;
  z-index: 1;
}
.date-input[data-v-99fa1aec] {
  padding: 8px 12px 8px 36px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  min-width: 140px;
}
.date-separator[data-v-99fa1aec] {
  color: #666;
  font-size: 14px;
}
.query-btn[data-v-99fa1aec] {
  background: #1976d2;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.query-btn[data-v-99fa1aec]:hover:not(:disabled) {
  background: #1565c0;
}
.query-btn[data-v-99fa1aec]:disabled {
  background: #6c757d;
  cursor: not-allowed;
  opacity: 0.6;
}
.loading-icon[data-v-99fa1aec] {
  animation: spin-99fa1aec 1s linear infinite;
}
@keyframes spin-99fa1aec {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
.chart-container[data-v-99fa1aec] {
  position: relative;
  min-height: 300px;
  width: 100%;
  overflow: hidden;
}
.loading-overlay[data-v-99fa1aec], .error-state[data-v-99fa1aec], .empty-state[data-v-99fa1aec] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: white;
  border-radius: 8px;
}
.loading-spinner[data-v-99fa1aec] {
  text-align: center;
}
.spinning-icon[data-v-99fa1aec] {
  animation: spin-99fa1aec 1s linear infinite;
  color: #1976d2;
  margin-bottom: 16px;
}
.error-state[data-v-99fa1aec] {
  text-align: center;
}
.error-icon[data-v-99fa1aec] {
  color: #dc3545;
  margin-bottom: 16px;
}
.error-message[data-v-99fa1aec] {
  color: #666;
  font-size: 14px;
  margin-bottom: 16px;
}
.retry-btn[data-v-99fa1aec] {
  background: #dc3545;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.retry-btn[data-v-99fa1aec]:hover {
  background: #c82333;
}
.empty-state[data-v-99fa1aec] {
  text-align: center;
}
.empty-icon[data-v-99fa1aec] {
  color: #6c757d;
  margin-bottom: 16px;
  opacity: 0.5;
}
.empty-hint[data-v-99fa1aec] {
  color: #999;
  font-size: 14px;
}
.chart[data-v-99fa1aec] {
  width: 100% !important;
  height: 300px !important;
  display: block !important;
}

/* 积分变动记录区域 */
.points-logs-section[data-v-99fa1aec] {
  background: white;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #e9ecef;
  margin-bottom: 30px;
}
.logs-controls[data-v-99fa1aec] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.filter-select[data-v-99fa1aec] {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  min-width: 120px;
}
.refresh-btn[data-v-99fa1aec] {
  background: #6c757d;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.refresh-btn[data-v-99fa1aec]:hover:not(:disabled) {
  background: #5a6268;
}
.refresh-btn[data-v-99fa1aec]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* 表格样式 */
.logs-table[data-v-99fa1aec] {
  margin-top: 20px;
  position: relative;
}
.table-skeleton[data-v-99fa1aec], .data-table[data-v-99fa1aec] {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.table-skeleton th[data-v-99fa1aec], .data-table th[data-v-99fa1aec] {
  background: #f8f9fa;
  padding: 16px 12px;
  text-align: left;
  font-weight: 600;
  color: #333;
  font-size: 14px;
  border-bottom: 1px solid #e9ecef;
}
.table-skeleton td[data-v-99fa1aec], .data-table td[data-v-99fa1aec] {
  padding: 16px 12px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #666;
}
.table-skeleton tr[data-v-99fa1aec]:hover, .data-table tr[data-v-99fa1aec]:hover {
  background: #f8f9fa;
}

/* 骨架屏样式 */
.skeleton-text[data-v-99fa1aec], .skeleton-badge[data-v-99fa1aec] {
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading-99fa1aec 1.5s infinite;
  border-radius: 4px;
}
.skeleton-badge[data-v-99fa1aec] {
  width: 60px;
}
@keyframes loading-99fa1aec {
0% { background-position: 200% 0;
}
100% { background-position: -200% 0;
}
}

/* 操作类型徽章 */
.action-badge[data-v-99fa1aec] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
}
.action-badge.earn[data-v-99fa1aec] {
  background: rgba(40, 167, 69, 0.1);
  color: #28a745;
}
.action-badge.consume[data-v-99fa1aec] {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}
.action-badge.expire[data-v-99fa1aec] {
  background: rgba(255, 193, 7, 0.1);
  color: #ffc107;
}

/* 操作描述 */
.action-description[data-v-99fa1aec] {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  min-height: 20px;
  justify-content: flex-start;
}
.description-text[data-v-99fa1aec] {
  flex: 0 1 auto;
}
.detail-btn[data-v-99fa1aec] {
  background: none;
  border: 1px solid #667eea;
  color: #667eea;
  font-size: 11px;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.detail-btn[data-v-99fa1aec]:hover {
  background: #667eea;
  color: white;
}
.detail-btn.expanded[data-v-99fa1aec] {
  background: #667eea;
  color: white;
}
.detail-btn svg[data-v-99fa1aec] {
  width: 10px;
  height: 10px;
  fill: currentColor;
}

/* 浮窗样式 */
.spider-tooltip[data-v-99fa1aec] {
  position: absolute !important;
  left: 0 !important;
  z-index: 99999 !important;
  pointer-events: auto;
  min-width: 300px;
  background: transparent;
}
.spider-tooltip.expanded[data-v-99fa1aec] {
  top: 100% !important;
  margin-top: 4px;
}
.tooltip-content[data-v-99fa1aec] {
  background: white !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.tooltip-header[data-v-99fa1aec] {
  padding: 12px 16px;
  border-bottom: 1px solid #e9ecef;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #333;
}
.tooltip-header svg[data-v-99fa1aec] {
  color: #667eea;
}
.close-btn[data-v-99fa1aec] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.close-btn[data-v-99fa1aec]:hover {
  background: #f0f0f0;
}
.tooltip-body[data-v-99fa1aec] {
  padding: 16px;
}
.detail-row[data-v-99fa1aec] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  font-size: 14px;
}
.detail-label[data-v-99fa1aec] {
  color: #666;
  font-weight: 500;
}
.detail-value[data-v-99fa1aec] {
  color: #333;
  font-weight: 600;
}

/* 积分变动样式 */
.points-change.positive[data-v-99fa1aec] {
  color: #28a745;
  font-weight: 600;
}
.points-change.negative[data-v-99fa1aec] {
  color: #dc3545;
  font-weight: 600;
}

/* 分页样式 */
.pagination[data-v-99fa1aec] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e9ecef;
}
.page-btn[data-v-99fa1aec] {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  color: #6c757d;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}
.page-btn[data-v-99fa1aec]:hover:not(:disabled) {
  background: #e9ecef;
  border-color: #adb5bd;
  color: #495057;
}
.page-btn[data-v-99fa1aec]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.page-btn svg[data-v-99fa1aec] {
  width: 12px;
  height: 12px;
  fill: currentColor;
}
.page-info[data-v-99fa1aec] {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}

/* 响应式设计 */
@media (max-width: 768px) {
.chart-controls[data-v-99fa1aec] {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}
.date-range[data-v-99fa1aec] {
    flex-direction: column;
    gap: 12px;
}
.date-input[data-v-99fa1aec] {
    min-width: 100%;
}
.logs-controls[data-v-99fa1aec] {
    flex-direction: column;
    align-items: stretch;
}
.filter-select[data-v-99fa1aec] {
    min-width: 100%;
}
.table-skeleton[data-v-99fa1aec], .data-table[data-v-99fa1aec] {
    font-size: 12px;
}
.table-skeleton th[data-v-99fa1aec], .data-table th[data-v-99fa1aec],
  .table-skeleton td[data-v-99fa1aec], .data-table td[data-v-99fa1aec] {
    padding: 12px 8px;
}
.pagination[data-v-99fa1aec] {
    flex-direction: column;
    gap: 12px;
}
}

/* 模态框样式 */
.modal-backdrop[data-v-99fa1aec] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-content[data-v-99fa1aec] {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 90vw;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 800px;
}
.modal-header[data-v-99fa1aec] {
  padding: 20px 24px;
  background-color: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header h3[data-v-99fa1aec] {
  margin: 0;
  font-size: 18px;
  color: #333;
  font-weight: 600;
}
.modal-header .close-btn[data-v-99fa1aec] {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 5px;
  border-radius: 50%;
  transition: background-color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-header .close-btn[data-v-99fa1aec]:hover {
  background-color: #e9ecef;
}
.modal-header .close-btn svg[data-v-99fa1aec] {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.modal-body[data-v-99fa1aec] {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

/* 筛选控件 */
.filter-controls[data-v-99fa1aec] {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
  background: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid #e9ecef;
}
.filter-select[data-v-99fa1aec], .filter-date[data-v-99fa1aec] {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
}
.filter-date[data-v-99fa1aec] {
  min-width: 140px;
}

/* 历史记录表格 */
.history-table[data-v-99fa1aec] {
  overflow-x: auto;
}
.history-table table[data-v-99fa1aec] {
  width: 100%;
  border-collapse: collapse;
}
.history-table th[data-v-99fa1aec] {
  background: #f8f9fa;
  padding: 16px 12px;
  text-align: left;
  font-weight: 600;
  color: #333;
  font-size: 14px;
  border-bottom: 1px solid #e9ecef;
}
.history-table td[data-v-99fa1aec] {
  padding: 16px 12px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #666;
}
.history-table tr[data-v-99fa1aec]:hover {
  background: #f8f9fa;
}
.record-type[data-v-99fa1aec] {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
}
.record-type.earn[data-v-99fa1aec] {
  background: rgba(76, 175, 80, 0.1);
  color: #4caf50;
}
.record-type.consume[data-v-99fa1aec] {
  background: rgba(244, 67, 54, 0.1);
  color: #f44336;
}
.record-type.expire[data-v-99fa1aec] {
  background: rgba(255, 152, 0, 0.1);
  color: #ff9800;
}

/* 规则内容 */
.rules-content[data-v-99fa1aec] {
  display: grid;
  gap: 24px;
}
.rule-section h4[data-v-99fa1aec] {
  margin: 0 0 16px 0;
  color: #333;
  font-size: 16px;
  font-weight: 600;
}
.rule-section ul[data-v-99fa1aec] {
  margin: 0;
  padding-left: 20px;
}
.rule-section li[data-v-99fa1aec] {
  margin-bottom: 8px;
  color: #666;
  line-height: 1.5;
}

/* 兑换和转赠内容 */
.gift-content[data-v-99fa1aec], .transfer-content[data-v-99fa1aec] {
  text-align: center;
  padding: 40px 20px;
  color: #666;
}
.gift-content p[data-v-99fa1aec], .transfer-content p[data-v-99fa1aec] {
  font-size: 16px;
  margin: 0;
}

/* 积分明细对话框中的日志详情组件样式 */
.history-logs-detail[data-v-99fa1aec] {
  margin-top: 0;
}
.history-logs-detail .points-logs[data-v-99fa1aec] {
  margin-bottom: 0;
  box-shadow: none;
  border: none;
  background: transparent;
}
.history-logs-detail .logs-table[data-v-99fa1aec] {
  margin-top: 0;
}

/* 禁用按钮样式 */
.btn-primary.disabled[data-v-99fa1aec] {
  background-color: #ccc !important;
  color: #666 !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}
.btn-primary.disabled[data-v-99fa1aec]:hover {
  background-color: #ccc !important;
  color: #666 !important;
}
.history-logs-detail .pagination[data-v-99fa1aec] {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e9ecef;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/views/UserCenterPage.vue?vue&type=style&index=0&id=c50dd02e&scoped=true&lang=css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

/* 使用与情报助手页面一致的布局结构 */
.content-container[data-v-c50dd02e] {
  width: 100%;
  background-color: #fff;
}
.content-wrapper[data-v-c50dd02e] {
  width: calc(100% - 32px);
  margin: 0 auto;
  padding: 16px 16px;
  background-color: #f8f8f8;
  height: calc(100vh - 96px);
}
.page-layout[data-v-c50dd02e] {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  height: calc(100vh - 92px);
}

/* 左侧导航栏 */
.files-container[data-v-c50dd02e] {
  width: 320px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  height: calc(100vh - 92px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.files-header[data-v-c50dd02e] {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #eee;
  height: 24px;
}
.back-button[data-v-c50dd02e] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

/* 侧边栏导航 */
.sidebar-nav[data-v-c50dd02e] {
  flex: 1;
  padding: 16px 0;
  overflow: hidden;
}
.nav-item[data-v-c50dd02e] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  color: #666;
  text-decoration: none;
  border-radius: 8px;
  margin-bottom: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}
.nav-item[data-v-c50dd02e]:hover {
  background: rgba(25, 118, 210, 0.05);
  color: #1976d2;
  border-color: rgba(25, 118, 210, 0.1);
}
.nav-item.active[data-v-c50dd02e] {
  background: #1976d2;
  color: white;
  border-color: #1976d2;
}
.nav-item svg[data-v-c50dd02e] {
  flex-shrink: 0;
}

/* 右侧内容区域 */
.content-area[data-v-c50dd02e] {
  flex: 1;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 24px;
  height: calc(100vh - 92px - 48px);
}

/* 概览页面 */
.overview-page[data-v-c50dd02e] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}
.overview-card[data-v-c50dd02e] {
  background: white;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #e9ecef;
}
.card-header[data-v-c50dd02e] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.card-header h3[data-v-c50dd02e] {
  margin: 0;
  font-size: 18px;
  color: #333;
  font-weight: 600;
}
.card-content[data-v-c50dd02e] {
  color: #666;
}

/* 用户信息卡片 */
.info-item[data-v-c50dd02e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding: 8px 0;
}
.info-item .label[data-v-c50dd02e] {
  font-weight: 500;
  color: #555;
}
.info-item .value[data-v-c50dd02e] {
  font-weight: 600;
  color: #333;
}
.status-active[data-v-c50dd02e] {
  color: #28a745 !important;
  display: flex;
  align-items: center;
  gap: 6px;
}
.wechat-bind-row[data-v-c50dd02e] {
  align-items: center;
}
.wechat-bind-actions[data-v-c50dd02e] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bind-status[data-v-c50dd02e] {
  font-weight: 600;
}
.bind-status.on[data-v-c50dd02e] {
  color: #10b981;
}
.bind-status.off[data-v-c50dd02e] {
  color: #6b7280;
}
.bind-btn[data-v-c50dd02e],
.unbind-btn[data-v-c50dd02e] {
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid #1f2937;
  background: #fff;
  color: #1f2937;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s ease;
}
.bind-btn[data-v-c50dd02e]:hover {
  background: #2563eb;
  color: #fff;
  border-color: #2563eb;
}
.unbind-btn[data-v-c50dd02e] {
  border-color: #ef4444;
  color: #ef4444;
}
.unbind-btn[data-v-c50dd02e]:hover {
  background: #ef4444;
  color: #fff;
}
.wechat-bind-panel[data-v-c50dd02e] {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #f8fafc;
}
.wechat-bind-container[data-v-c50dd02e] {
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 积分概览卡片 */
.points-display[data-v-c50dd02e] {
  text-align: center;
  margin-bottom: 20px;
}
.current-points[data-v-c50dd02e] {
  margin-bottom: 20px;
}
.points-number[data-v-c50dd02e] {
  display: block;
  font-size: 36px;
  font-weight: 700;
  color: #1976d2;
  margin-bottom: 8px;
}
.points-label[data-v-c50dd02e] {
  font-size: 14px;
  color: #666;
}
.points-stats[data-v-c50dd02e] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.stat-item[data-v-c50dd02e] {
  text-align: center;
}
.stat-value[data-v-c50dd02e] {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin-bottom: 4px;
}
.stat-label[data-v-c50dd02e] {
  font-size: 12px;
  color: #888;
}
.card-actions[data-v-c50dd02e] {
  text-align: center;
}

/* 会员状态卡片 */
.vip-info[data-v-c50dd02e] {
  text-align: center;
  margin-bottom: 20px;
}
.vip-level[data-v-c50dd02e] {
  font-size: 24px;
  font-weight: 700;
  color: #ffc107;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.vip-expire[data-v-c50dd02e] {
  font-size: 14px;
  color: #666;
  margin-bottom: 16px;
}
.vip-benefits[data-v-c50dd02e] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.benefit-tag[data-v-c50dd02e] {
  background: rgba(25, 118, 210, 0.1);
  color: #1976d2;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
}

/* 按钮样式 */
.btn-primary[data-v-c50dd02e] {
  background: #1976d2;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.btn-primary[data-v-c50dd02e]:hover {
  background: #1565c0;
  transform: translateY(-1px);
}
.btn-primary[data-v-c50dd02e]:disabled {
  background: #ccc;
  cursor: not-allowed;
  transform: none;
}
.btn-primary[data-v-c50dd02e]:disabled:hover {
  background: #ccc;
  transform: none;
}
.btn-secondary[data-v-c50dd02e] {
  background: #6c757d;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.btn-secondary[data-v-c50dd02e]:hover {
  background: #5a6268;
}

/* 页面标题 */
.page-header[data-v-c50dd02e] {
  margin-bottom: 30px;
}
.page-header h2[data-v-c50dd02e] {
  margin: 0 0 8px 0;
  font-size: 24px;
  color: #333;
  font-weight: 600;
}
.page-header p[data-v-c50dd02e] {
  margin: 0;
  color: #666;
  font-size: 14px;
}

/* 积分管理页面 */
.points-page[data-v-c50dd02e] {
  height: 100%;
  overflow-y: auto; /* 让积分管理页面可以滚动 */
  padding-right: 8px; /* 为滚动条留出空间 */
}

/* 资源升级页面 */
.resources-page[data-v-c50dd02e] {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  overflow-y: auto; /* 让资源升级页面的内容可以滚动 */
  padding-right: 8px; /* 为滚动条留出空间 */
}
.resources-grid[data-v-c50dd02e] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  height: 100%;
  align-content: start;
}
.resource-card[data-v-c50dd02e] {
  background: white;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  padding: 24px;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.resource-card[data-v-c50dd02e]:hover {
  border-color: #1976d2;
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(25, 118, 210, 0.1);
}
.resource-header[data-v-c50dd02e] {
  margin-bottom: 20px;
}
.resource-content h4[data-v-c50dd02e] {
  margin: 0 0 16px 0;
  font-size: 18px;
  color: #333;
  font-weight: 600;
}
.resource-usage[data-v-c50dd02e] {
  margin-bottom: 16px;
}
.usage-bar[data-v-c50dd02e] {
  width: 100%;
  height: 8px;
  background: #e9ecef;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}
.usage-fill[data-v-c50dd02e] {
  height: 100%;
  background: linear-gradient(90deg, #1976d2 0%, #42a5f5 100%);
  transition: width 0.3s ease;
}
.usage-text[data-v-c50dd02e] {
  font-size: 12px;
  color: #666;
  font-weight: 500;
}
.usage-percent[data-v-c50dd02e] {
  font-size: 10px;
  color: #999;
  margin-left: 4px;
}
.resource-actions[data-v-c50dd02e] {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.upgrade-status[data-v-c50dd02e] {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}

/* 账户设置页面 */
.settings-page[data-v-c50dd02e] {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  overflow-y: auto; /* 让账户设置页面的内容可以滚动 */
  padding-right: 8px; /* 为滚动条留出空间 */
}
.settings-content[data-v-c50dd02e] {
  display: grid;
  gap: 30px;
  height: 100%;
  align-content: start;
}
.settings-section[data-v-c50dd02e] {
  background: white;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #e9ecef;
}
.settings-section h4[data-v-c50dd02e] {
  margin: 0 0 20px 0;
  color: #333;
  font-size: 18px;
  font-weight: 600;
}
.form-group[data-v-c50dd02e] {
  margin-bottom: 20px;
}
.form-group label[data-v-c50dd02e] {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-weight: 500;
  font-size: 14px;
}
.form-input[data-v-c50dd02e] {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e9ecef;
  border-radius: 6px;
  font-size: 14px;
  transition: all 0.3s ease;
  box-sizing: border-box;
}
.form-input[data-v-c50dd02e]:focus {
  outline: none;
  border-color: #1976d2;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.1);
}
.form-input[data-v-c50dd02e]:disabled {
  background-color: #f5f5f5;
  color: #666;
  cursor: not-allowed;
}
.form-hint[data-v-c50dd02e] {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #888;
}

/* 升级确认对话框样式 */
.modal-backdrop[data-v-c50dd02e] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.upgrade-modal[data-v-c50dd02e] {
  max-width: 500px;
  width: 90vw;
  background: white;
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.modal-header[data-v-c50dd02e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #f0f0f0;
  background: #f8f9fa;
}
.modal-header h3[data-v-c50dd02e] {
  margin: 0;
  font-size: 20px;
  color: #333;
  font-weight: 600;
}
.close-btn[data-v-c50dd02e] {
  background: none;
  border: none;
  font-size: 24px;
  color: #888;
  cursor: pointer;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
}
.close-btn[data-v-c50dd02e]:hover {
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
}
.modal-body[data-v-c50dd02e] {
  padding: 24px;
  overflow-y: auto;
  flex-grow: 1;
}
.upgrade-info[data-v-c50dd02e] {
  text-align: center;
  padding: 20px 0;
}
.upgrade-info h4[data-v-c50dd02e] {
  margin: 0 0 20px 0;
  font-size: 20px;
  color: #333;
  font-weight: 600;
}
.upgrade-details[data-v-c50dd02e] {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.detail-row[data-v-c50dd02e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
}
.detail-row .label[data-v-c50dd02e] {
  font-weight: 500;
  color: #666;
}
.detail-row .value[data-v-c50dd02e] {
  font-weight: 600;
  color: #333;
}
.cost-value[data-v-c50dd02e] {
  color: #dc3545 !important;
  font-size: 18px;
}
.modal-footer[data-v-c50dd02e] {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  padding: 20px 24px;
  border-top: 1px solid #e9ecef;
  background: #f8f9fa;
}
.modal-footer .btn-secondary[data-v-c50dd02e] {
  background: #6c757d;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.modal-footer .btn-secondary[data-v-c50dd02e]:hover {
  background: #5a6268;
}
.modal-footer .btn-primary[data-v-c50dd02e] {
  background: #28a745;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.modal-footer .btn-primary[data-v-c50dd02e]:hover:not(:disabled) {
  background: #218838;
}

/* 解绑确认弹窗 */
.modal-overlay[data-v-c50dd02e] {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.modal-window[data-v-c50dd02e] {
  width: 360px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
.modal-header[data-v-c50dd02e] {
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
}
.modal-header h3[data-v-c50dd02e] {
  margin: 0;
  font-size: 16px;
  color: #111827;
}
.modal-body[data-v-c50dd02e] {
  padding: 20px;
  color: #374151;
  line-height: 1.6;
}
.modal-footer[data-v-c50dd02e] {
  padding: 12px 20px 16px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid #f0f0f0;
}
.btn-danger[data-v-c50dd02e] {
  padding: 10px 16px;
  background: #ef4444;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.2s ease;
}
.btn-danger[data-v-c50dd02e]:hover {
  background: #dc2626;
}

/* 响应式设计 */
@media (max-width: 768px) {
.page-layout[data-v-c50dd02e] {
    flex-direction: column;
    gap: 16px;
}
.files-container[data-v-c50dd02e] {
    width: 100%;
    height: auto;
}
.overview-page[data-v-c50dd02e] {
    grid-template-columns: 1fr;
    gap: 16px;
}
.resources-grid[data-v-c50dd02e] {
    grid-template-columns: 1fr;
}
.content-area[data-v-c50dd02e] {
    padding: 16px;
    height: auto;
}
.upgrade-modal[data-v-c50dd02e] {
    width: 95vw;
    max-width: 90vw;
}
}

/* 自定义滚动条样式 */
.overview-page[data-v-c50dd02e]::-webkit-scrollbar,
.resources-page[data-v-c50dd02e]::-webkit-scrollbar,
.settings-page[data-v-c50dd02e]::-webkit-scrollbar,
.points-page[data-v-c50dd02e]::-webkit-scrollbar {
  width: 6px;
}
.overview-page[data-v-c50dd02e]::-webkit-scrollbar-track,
.resources-page[data-v-c50dd02e]::-webkit-scrollbar-track,
.settings-page[data-v-c50dd02e]::-webkit-scrollbar-track,
.points-page[data-v-c50dd02e]::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}
.overview-page[data-v-c50dd02e]::-webkit-scrollbar-thumb,
.resources-page[data-v-c50dd02e]::-webkit-scrollbar-thumb,
.settings-page[data-v-c50dd02e]::-webkit-scrollbar-thumb,
.points-page[data-v-c50dd02e]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.overview-page[data-v-c50dd02e]::-webkit-scrollbar-thumb:hover,
.resources-page[data-v-c50dd02e]::-webkit-scrollbar-thumb:hover,
.settings-page[data-v-c50dd02e]::-webkit-scrollbar-thumb:hover,
.points-page[data-v-c50dd02e]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 禁用按钮样式 */
.btn-primary.disabled[data-v-c50dd02e] {
  background-color: #ccc !important;
  color: #666 !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}
.btn-primary.disabled[data-v-c50dd02e]:hover {
  background-color: #ccc !important;
  color: #666 !important;
}

/*!*********************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-14.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-14.use[2]!./src/assets/global.css ***!
  \*********************************************************************************************************************************************************************/
/* 全局字体设置 */
* {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

html {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

/* 确保所有常见元素都使用统一字体 */
h1, h2, h3, h4, h5, h6 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

p, span, div, a, label, strong, em, small {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

/* 表单元素 */
input, textarea, select, button {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

/* 表格元素 */
table, th, td {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

/* 列表元素 */
ul, ol, li {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

/* Vue组件中的元素 */
.v-enter-active, .v-leave-active {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

/* 覆盖第三方组件的字体 */
[class*="el-"], [class*="ant-"], [class*="ivu-"] {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
}

/* 覆盖内联样式 */
[style*="font-family"] {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", sans-serif !important;
  font-size: 14px;
} 
