
.legal-relation[data-v-28894f93] {
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
}
.chart-header[data-v-28894f93] {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  padding: 20px;
  border-bottom: 1px solid #eee;
}
.chart-controls button[data-v-28894f93] {
  margin-left: 10px;
  padding: 8px 16px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: white;
  cursor: pointer;
}
.chart-container[data-v-28894f93] {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
  background: #f5f5f5;
}


#container[data-v-4a81e594] {
  background-color: #fafafa;
  z-index: 1000;
}


#container[data-v-372cc021] {
  background-color: #fafafa;
  z-index: 1000;
}


.case-follow-container[data-v-448ab937] {
  padding: 20px;
  background: -webkit-linear-gradient(315deg, #f5f7fa 0%, #c3cfe2 100%);
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
  min-height: 100vh;
}
.header[data-v-448ab937] {
  text-align: center;
  margin-bottom: 30px;
  color: #2c3e50;
}
.header h1[data-v-448ab937] {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 10px;
  background: -webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.header p[data-v-448ab937] {
  font-size: 1.1rem;
  color: #7f8c8d;
  margin: 0;
}
.chart-section[data-v-448ab937] {
  margin-bottom: 30px;
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.chart-section h2[data-v-448ab937] {
  margin: 0 0 16px 0;
  color: #2c3e50;
  font-size: 1.5rem;
  font-weight: 600;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  gap: 8px;
}
.chart-info[data-v-448ab937] {
  margin-bottom: 16px;
  padding: 12px 16px;
  background: #f8f9fa;
  border-radius: 8px;
  border-left: 4px solid #007bff;
}
.chart-info span[data-v-448ab937] {
  color: #6c757d;
  font-size: 0.9rem;
}
.chart-container[data-v-448ab937] {
  width: 100%;
  height: 500px;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  background: #fafafa;
  position: relative;
  overflow: hidden;
}
.loading[data-v-448ab937], .error[data-v-448ab937] {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  padding: 20px;
  border-radius: 8px;
}
.loading[data-v-448ab937] {
  background: rgba(0, 123, 255, 0.1);
  color: #007bff;
  font-weight: 500;
}
.error[data-v-448ab937] {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
  font-weight: 500;
}
.data-info[data-v-448ab937] {
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  text-align: center;
}
.data-info h3[data-v-448ab937] {
  margin: 0 0 20px 0;
  color: #2c3e50;
  font-size: 1.3rem;
  font-weight: 600;
}
.stats[data-v-448ab937] {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  gap: 40px;
}
.stat-item[data-v-448ab937] {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  gap: 8px;
}
.stat-number[data-v-448ab937] {
  font-size: 2rem;
  font-weight: bold;
  color: #667eea;
}
.stat-label[data-v-448ab937] {
  font-size: 0.9rem;
  color: #7f8c8d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
#x6-container[data-v-448ab937] {
  background: #fafafa;
}
@media (max-width: 768px) {
.case-follow-container[data-v-448ab937] {
    padding: 15px;
}
.header h1[data-v-448ab937] {
    font-size: 2rem;
}
.chart-section[data-v-448ab937] {
    padding: 16px;
}
.chart-container[data-v-448ab937] {
    height: 400px;
}
.stats[data-v-448ab937] {
    gap: 20px;
}
.stat-number[data-v-448ab937] {
    font-size: 1.5rem;
}
}

#container {
  background-color: #fafafa;
  z-index: 1000;
  /* 性能优化 */
  will-change: transform;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  /* 触摸事件支持 */
  touch-action: pan-x pan-y pinch-zoom;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  /* 触摸性能优化 */
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch;
}

/* 关系信息面板 */
.relation-info {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 300px;
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 1001;
  font-family: Arial, sans-serif;
  
  .info-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
            align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
    background: #f8f9fa;
    border-radius: 8px 8px 0 0;
    
    h3 {
      margin: 0;
      color: #333;
      font-size: 16px;
    }
  }
  
  .close-btn {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #666;
    padding: 0;
    width: 24px;
    height: 24px;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
            justify-content: center;
    border-radius: 50%;
    
    &:hover {
      background: #eee;
      color: #333;
    }
  }
  
  .info-content {
    padding: 20px;
    max-height: 400px;
    overflow-y: auto;
    
    p {
      margin: 10px 0;
      color: #555;
    }
    
    ul {
      margin: 10px 0;
      padding-left: 20px;
    }
    
    li {
      margin: 5px 0;
      color: #666;
    }
  }
}

/* 信息按钮 */
.info-btn {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1976d2;
  color: white;
  border: none;
  font-size: 18px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  
  &:hover {
    background: #1565c0;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  
  &:active {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
}

.relation-stats-btn {
  margin-top: 15px;
  padding: 8px 16px;
  background: #1976d2;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  
  &:hover {
    background: #1565c0;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
}

/* 弹窗样式 */
.modal-content-wrapper {
  padding: 20px;
}

.modal-section {
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #eee;
  
  h4 {
    margin-top: 0;
    margin-bottom: 10px;
    color: #333;
    font-size: 16px;
  }
}

.relation-types {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
}

.relation-type-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  padding: 8px 12px;
  background: #f0f0f0;
  border-left: 4px solid #333; /* Default color */
  border-radius: 6px;
  font-size: 14px;
  color: #333;
}

.relation-name {
  font-weight: bold;
  margin-right: 5px;
}

.relation-count {
  font-weight: bold;
  color: #1976d2; /* Highlight color for count */
}

.operation-list {
  list-style: none;
  padding: 0;
  margin: 0;
  
  li {
    margin-bottom: 8px;
    color: #555;
    font-size: 14px;
  }
}

.shortcuts {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.shortcut {
  background: #e0e0e0;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 13px;
  color: #333;
  font-weight: bold;
}

.modal-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  margin-top: 20px;
}

.action-btn {
  padding: 8px 15px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  
  &.primary {
    background: #1976d2;
    color: white;
    
    &:hover {
      background: #1565c0;
      -webkit-transform: translateY(-1px);
              transform: translateY(-1px);
    }
  }
  
  &.secondary {
    background: #f0f0f0;
    color: #333;
    
    &:hover {
      background: #e0e0e0;
      -webkit-transform: translateY(-1px);
              transform: translateY(-1px);
    }
  }
}

/* 调试按钮 */
.debug-btn {
  position: fixed;
  top: 60px; /* Adjust position to be above info-btn */
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #4caf50;
  color: white;
  border: none;
  font-size: 18px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  
  &:hover {
    background: #388e3c;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  
  &:active {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
}

/* 新增节点弹窗样式 */
.add-node-form {
  padding: 20px;
}

.form-group {
  margin-bottom: 15px;
  
  label {
    display: block;
    margin-bottom: 5px;
    color: #555;
    font-size: 14px;
  }
}

.form-input, .form-select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
}

.form-select {
  height: 36px;
}

.form-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  margin-top: 20px;
}

/* 控制按钮 */
.control-buttons {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  z-index: 1000;
}

.control-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1976d2;
  color: white;
  border: none;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  
  &:hover {
    background: #1565c0;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  }
  
  &:active {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
}

.btn-icon {
  font-size: 20px;
  line-height: 1;
}

.zoom-controls {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.zoom-level {
  background: rgba(255, 255, 255, 0.9);
  color: #333;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  padding: 4px 6px;
  border-radius: 4px;
  min-width: 40px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.zoom-btn {
  background: #4caf50;
  
  &:hover {
    background: #388e3c;
  }
}

.reset-zoom-btn {
  background: #f0f0f0;
  color: #333;
  
  &:hover {
    background: #e0e0e0;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
}

.add-node-btn {
  background: #ff9800;
  width: 40px;
  height: 40px;
  
  &:hover {
    background: #f57c00;
  }
  
  .btn-icon {
    font-size: 22px;
    line-height: 1;
  }
  
  .btn-text {
    font-size: 8px;
    margin-top: -2px;
  }
}

/* 响应式设计 */
@media (max-width: 768px) {
  .control-buttons {
    bottom: 15px;
    right: 15px;
    gap: 8px;
  }
  
  .control-btn {
    width: 45px;
    height: 45px;
    font-size: 18px;
  }
  
  .add-node-btn {
    width: 45px;
    height: 45px;
    
    .btn-icon {
      font-size: 24px;
    }
  }
  
  .zoom-level {
    font-size: 9px;
    padding: 3px 5px;
    min-width: 45px;
  }
  
  .relation-info {
    width: 280px;
    top: 15px;
    right: 15px;
  }
  
  .info-btn, .debug-btn {
    top: 15px;
    right: 15px;
    width: 45px;
    height: 45px;
    font-size: 16px;
  }
  
  .debug-btn {
    top: 70px;
  }
}

@media (max-width: 480px) {
  .control-buttons {
    bottom: 10px;
    right: 10px;
    gap: 6px;
  }
  
  .control-btn {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  
  .add-node-btn {
    width: 40px;
    height: 40px;
    
    .btn-icon {
      font-size: 22px;
    }
  }
  
  .zoom-level {
    font-size: 8px;
    padding: 2px 4px;
    min-width: 40px;
  }
}

/* 左上角按钮组样式 */
.top-left-buttons {
  position: fixed;
  top: 20px;
  left: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  z-index: 1000; /* 确保高于其他元素 */
  
  button {
    padding: 8px 15px;
    background: #1976d2;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    /* 添加阴影增强可见性 */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    
    &:hover {
      background: #1565c0;
      -webkit-transform: translateY(-1px);
              transform: translateY(-1px);
    }
    
    &:active {
      -webkit-transform: scale(0.95);
              transform: scale(0.95);
    }
  }
}


.person-feel-list[data-v-5016482d]{padding:20px;min-height:100vh;background:-webkit-linear-gradient(315deg, #f5f7fa 0%, #c3cfe2 100%);background:linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-flex-shrink:0;flex-shrink:0}.statistics-card[data-v-5016482d]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.1);margin-bottom:20px;-webkit-flex-shrink:0;flex-shrink:0}.statistics-card .card-header[data-v-5016482d]{padding:15px 20px;background:-webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff;border-bottom:1px solid #eee;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.card-actions[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:10px}.record-btn-circle[data-v-5016482d]{width:36px;height:36px;border-radius:50%;background:-webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);border:2px solid #fff}.record-btn-circle[data-v-5016482d]:hover{-webkit-transform:scale(1.1);transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.15)}.record-icon[data-v-5016482d]{color:#fff;font-size:14px;font-weight:bold}.record-label[data-v-5016482d]{color:#fff;font-size:12px;font-weight:bold}.record-label-circle[data-v-5016482d]{width:36px;height:36px;border-radius:50%;background:-webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);border:2px solid #fff}.record-label-circle[data-v-5016482d]:hover{-webkit-transform:scale(1.1);transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.15)}.book-icon[data-v-5016482d]{width:36px;height:36px;border-radius:50%;background:-webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);border:2px solid #fff}.book-icon[data-v-5016482d]:hover{-webkit-transform:scale(1.1);transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.15)}.book-icon-text[data-v-5016482d]{color:#fff;font-size:14px;font-weight:bold}.record-btn[data-v-5016482d]{background:-webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff;border:none;border-radius:20px;padding:8px 16px;font-size:.9rem;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.record-btn[data-v-5016482d]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.statistics-card .card-header h2[data-v-5016482d]{margin:0;font-size:1.3rem;font-weight:bold}.statistics-card .card-body[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;padding:20px;gap:20px}.statistics-card .secondary-stats[data-v-5016482d]{border-top:1px solid #eee;background:#f9f9f9}.statistic-item[data-v-5016482d]{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:center}.stat-label[data-v-5016482d]{font-size:.9rem;color:#666;margin-bottom:5px}.stat-value[data-v-5016482d]{font-size:1.1rem;font-weight:bold;color:#333;word-wrap:break-word;word-break:break-all;white-space:normal}.stat-value.negative[data-v-5016482d]{color:#ff4d4f}.toolbar[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-bottom:20px;gap:15px;-webkit-flex-shrink:0;flex-shrink:0}.sticky-toolbar[data-v-5016482d]{position:-webkit-sticky;position:sticky;top:0;background:-webkit-linear-gradient(315deg, #f5f7fa 0%, #c3cfe2 100%);background:linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);padding:20px 20px 10px 20px;margin:0 -20px 30px -20px;z-index:100;box-shadow:0 2px 10px rgba(0,0,0,.1);-webkit-flex-shrink:0;flex-shrink:0}.search-box[data-v-5016482d]{-webkit-box-flex:1;-webkit-flex:1;flex:1}.search-input[data-v-5016482d]{width:100%;padding:10px 15px;border-radius:20px;border:1px solid #ddd;background:#fff;font-size:14px;box-shadow:0 2px 5px rgba(0,0,0,.1);-webkit-transition:all .3s ease;transition:all .3s ease}.search-input[data-v-5016482d]:focus{outline:none;border-color:#667eea;box-shadow:0 2px 8px rgba(102,126,234,.3)}.button-group[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;gap:10px}.add-btn[data-v-5016482d],.batch-btn[data-v-5016482d]{padding:10px 20px;background:-webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff;border:none;border-radius:20px;cursor:pointer;font-weight:bold;box-shadow:0 2px 8px rgba(102,126,234,.3);-webkit-transition:all .3s ease;transition:all .3s ease;white-space:nowrap}.add-btn[data-v-5016482d]:hover,.batch-btn[data-v-5016482d]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.person-list[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;gap:20px;max-width:800px;margin:0 0 0 0;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-flex-shrink:0;flex-shrink:0;background:rgba(0,0,0,0);min-height:200px}.person-card[data-v-5016482d]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.1);-webkit-transition:all .3s ease;transition:all .3s ease;cursor:pointer;-webkit-flex-shrink:0;flex-shrink:0;min-height:120px}.person-card[data-v-5016482d]:hover{-webkit-transform:translateY(-5px);transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.card-header[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:20px;border-bottom:1px solid #eee;background:-webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff}.avatar[data-v-5016482d]{width:50px;height:50px;border-radius:50%;overflow:hidden;margin-right:15px;background:hsla(0,0%,100%,.2);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.avatar img[data-v-5016482d]{width:100%;height:100%;object-fit:cover}.default-avatar[data-v-5016482d]{width:100%;height:100%;background:#667eea;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.default-avatar svg[data-v-5016482d]{width:70%;height:70%}.basic-info[data-v-5016482d]{-webkit-box-flex:1;-webkit-flex:1;flex:1}.person-name[data-v-5016482d]{margin:0 0 5px 0;font-size:1.2rem;font-weight:bold}.person-relation[data-v-5016482d]{margin:0;font-size:.9rem;opacity:.9}.card-actions[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.amount[data-v-5016482d]{font-size:1.1rem;font-weight:bold;background:hsla(0,0%,100%,.2);padding:5px 10px;border-radius:15px}.card-body[data-v-5016482d]{padding:20px}.event-info[data-v-5016482d]{margin-bottom:15px;padding:10px;background:#f0f8ff;border-radius:8px;border-left:4px solid #667eea}.person-stats[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;gap:20px;background:#f9f9f9;padding:15px;border-radius:8px;margin-top:10px}.statistic-item[data-v-5016482d]{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:center}.stat-label[data-v-5016482d]{font-size:.9rem;color:#666;margin-bottom:5px}.stat-value[data-v-5016482d]{font-size:1.1rem;font-weight:bold;color:#333}.stat-value.negative[data-v-5016482d]{color:#ff4d4f}.info-item[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;margin-bottom:8px}.info-item[data-v-5016482d]:last-child{margin-bottom:0}.label[data-v-5016482d]{width:80px;font-weight:bold;color:#666;-webkit-flex-shrink:0;flex-shrink:0}.value[data-v-5016482d]{-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#333;word-break:break-all}.empty-state[data-v-5016482d]{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.empty-state p[data-v-5016482d]{color:#999;font-size:1.2rem}.loading-more[data-v-5016482d],.no-more-data[data-v-5016482d]{text-align:center;padding:20px;color:#999}.loading-more p[data-v-5016482d],.no-more-data p[data-v-5016482d]{margin:0;font-size:1rem}.loading-more-center[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:20px}.no-more-data-center[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:20px;color:#999;font-size:14px}.initial-loading[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:40px 20px;color:#999;font-size:16px;gap:10px}@media(max-width: 768px){.person-feel-list[data-v-5016482d]{padding:15px}.sticky-toolbar[data-v-5016482d]{padding:15px 15px 5px 15px;margin:0 -15px 25px -15px}.toolbar[data-v-5016482d]{gap:10px}.search-box[data-v-5016482d]{margin-bottom:0}.button-group[data-v-5016482d]{gap:8px}.add-btn[data-v-5016482d],.batch-btn[data-v-5016482d]{padding:8px 15px;font-size:14px}.statistics-card .card-body[data-v-5016482d]{gap:10px;padding:15px}.statistics-card .secondary-stats[data-v-5016482d]{gap:10px;padding:15px}.person-stats[data-v-5016482d]{gap:10px;padding:10px}.statistic-item[data-v-5016482d]{text-align:center}.stat-value[data-v-5016482d]{font-size:1rem}.card-header[data-v-5016482d]{padding:15px}.avatar[data-v-5016482d]{width:40px;height:40px}.person-name[data-v-5016482d]{font-size:1.1rem}.card-body[data-v-5016482d]{padding:15px}.event-info[data-v-5016482d]{padding:8px;margin-bottom:12px}.info-item[data-v-5016482d]{margin-bottom:6px}.label[data-v-5016482d]{width:70px;font-size:.85rem}.value[data-v-5016482d]{font-size:.85rem}}.info-icon[data-v-5016482d]{cursor:pointer;opacity:.8;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.info-icon[data-v-5016482d]:hover{opacity:1}.custom-dropdown-menu[data-v-5016482d]{background:#fff;border-radius:12px 12px 0 0;overflow:hidden;box-shadow:0 -2px 20px rgba(0,0,0,.15);z-index:1001}.dropdown-header[data-v-5016482d]{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:15px 20px;border-bottom:1px solid #eee;background:#f5f7fa}.dropdown-header h3[data-v-5016482d]{margin:0;font-size:1.2rem;font-weight:bold;color:#333}.dropdown-options[data-v-5016482d]{max-height:400px;overflow-y:auto}.dropdown-option[data-v-5016482d]{padding:15px 20px;border-bottom:1px solid #eee;font-size:1rem;color:#333;cursor:pointer;-webkit-transition:background .3s ease;transition:background .3s ease;position:relative;z-index:1002}.dropdown-option[data-v-5016482d]:last-child{border-bottom:none}.dropdown-option[data-v-5016482d]:hover{background:#f5f7fa}.dropdown-option.selected[data-v-5016482d]{background:#e6f7ff;color:#1890ff;font-weight:bold}.dropdown-option.selected[data-v-5016482d]::after{content:"✓";float:right;color:#1890ff}.scroll-anchor[data-v-5016482d]{height:20px;width:100%;background:rgba(0,0,0,0)}.debug-border[data-v-5016482d]{border:1px solid red !important}.debug-bg[data-v-5016482d]{background:rgba(255,0,0,.1) !important}

.edit-person-event-modal[data-v-4e9ee0d4] {
  background: white;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
  box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
  max-height: 90vh;
}
.modal-header[data-v-4e9ee0d4] {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  padding: 20px;
  background: -webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-bottom: 1px solid #eee;
  -webkit-flex-shrink: 0;
          flex-shrink: 0;
}
.modal-header h2[data-v-4e9ee0d4] {
  margin: 0;
  font-size: 1.4rem;
  font-weight: bold;
}
.modal-body[data-v-4e9ee0d4] {
  padding: 20px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
  overflow-y: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.form-item[data-v-4e9ee0d4] {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
}
.form-item .label[data-v-4e9ee0d4] {
  display: block;
  font-weight: bold;
  color: #333;
  font-size: 1rem;
  min-width: 5em;
  text-align: right;
  margin-right: 10px;
}

/* 必填字段样式 */
.form-item .label.required[data-v-4e9ee0d4] {
  position: relative;
}
.required-star[data-v-4e9ee0d4] {
  color: #ff4d4f;
  margin-left: 4px;
}
.form-value[data-v-4e9ee0d4] {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
}

/* 表单输入框样式 */
.form-input[data-v-4e9ee0d4] {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
  width: 100%;
  margin-bottom: 0;
}
.form-value[data-v-4e9ee0d4] .t-input[readonly] {
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #ddd;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.form-value[data-v-4e9ee0d4] .t-input[readonly]:hover {
  border-color: #667eea;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

/* 性别选择按钮样式 */
.gender-selection[data-v-4e9ee0d4] {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  gap: 8px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
}
.gender-btn[data-v-4e9ee0d4] {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
  height: 32px;
  border-radius: 6px;
  border: 1px solid #ddd;
  background: white;
  color: #333;
  font-size: 12px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.gender-btn[data-v-4e9ee0d4]:hover {
  border-color: #667eea;
  background: #f8f9ff;
}
.gender-btn.selected[data-v-4e9ee0d4] {
  border-color: #667eea;
  background: #667eea;
  color: white;
  box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
}

/* 账目类型选择按钮样式 */
.ledger-type-selection[data-v-4e9ee0d4] {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  gap: 8px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
}
.ledger-type-btn[data-v-4e9ee0d4] {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
  height: 32px;
  border-radius: 6px;
  border: 1px solid #ddd;
  background: white;
  color: #333;
  font-size: 12px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.ledger-type-btn[data-v-4e9ee0d4]:hover {
  border-color: #667eea;
  background: #f8f9ff;
}
.ledger-type-btn.selected[data-v-4e9ee0d4] {
  border-color: #667eea;
  background: #667eea;
  color: white;
  box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
}
.ledger-type-btn[data-v-4e9ee0d4]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background: #f5f5f5;
  color: #999;
}
.modal-footer[data-v-4e9ee0d4] {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  gap: 12px;
  padding: 20px;
  border-top: 1px solid #eee;
  -webkit-flex-shrink: 0;
          flex-shrink: 0;
}
.cancel-btn[data-v-4e9ee0d4], .save-btn[data-v-4e9ee0d4] {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
  height: 40px;
}
.delete-btn[data-v-4e9ee0d4] {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
  height: 40px;
  color: white;
  background-color: #ff4d4f;
  border: none;
  outline: none;
}
.delete-btn[data-v-4e9ee0d4]:hover {
  background-color: #ff7875;
}

/* 关系选择器样式 */
.relation-picker-modal[data-v-4e9ee0d4], .event-type-picker-modal[data-v-4e9ee0d4] {
  background: white;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
  box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.picker-header[data-v-4e9ee0d4] {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  padding: 20px;
  background: -webkit-linear-gradient(315deg, #667eea 0%, #764ba2 100%);
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-bottom: 1px solid #eee;
  -webkit-flex-shrink: 0;
          flex-shrink: 0;
}
.picker-header h3[data-v-4e9ee0d4] {
  margin: 0;
  font-size: 1.2rem;
  font-weight: bold;
}
.picker-body[data-v-4e9ee0d4] {
  padding: 20px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
          flex: 1;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  -webkit-overflow-scrolling: touch; /* 添加iOS弹性滚动 */
  scrollbar-width: thin; /* Firefox滚动条 */
  scrollbar-color: #667eea #f0f2f5; /* Firefox滚动条颜色 */
}

/* Webkit浏览器滚动条样式 */
.picker-body[data-v-4e9ee0d4]::-webkit-scrollbar {
  width: 6px;
}
.picker-body[data-v-4e9ee0d4]::-webkit-scrollbar-track {
  background: #f0f2f5;
  border-radius: 10px;
}
.picker-body[data-v-4e9ee0d4]::-webkit-scrollbar-thumb {
  background: #667eea;
  border-radius: 10px;
}
.picker-body[data-v-4e9ee0d4]::-webkit-scrollbar-thumb:hover {
  background: #764ba2;
}
.relation-item[data-v-4e9ee0d4], .event-type-item[data-v-4e9ee0d4] {
  padding: 12px 8px;
  text-align: center;
  border-radius: 8px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  color: #495057;
  font-size: 14px;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.relation-item[data-v-4e9ee0d4]:hover, .event-type-item[data-v-4e9ee0d4]:hover {
  background: #e9ecef;
  border-color: #667eea;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.relation-item.selected[data-v-4e9ee0d4], .event-type-item.selected[data-v-4e9ee0d4] {
  background: #667eea;
  border-color: #667eea;
  color: white;
  box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
}
@media (max-width: 768px) {
.edit-person-event-modal[data-v-4e9ee0d4] {
    border-radius: 16rpx 16rpx 0 0;
}
.modal-header[data-v-4e9ee0d4] {
    padding: 32rpx;
}
.modal-body[data-v-4e9ee0d4] {
    padding: 32rpx;
    gap: 32rpx;
}
.form-item[data-v-4e9ee0d4] {
    margin-bottom: 12px;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
            align-items: center;
}
.form-item .label[data-v-4e9ee0d4] {
    font-size: 0.9rem;
    min-width: 5em;
    text-align: right;
    margin-right: 10px;
}
.modal-footer[data-v-4e9ee0d4] {
    padding: 32rpx;
    gap: 24rpx;
}
.gender-selection[data-v-4e9ee0d4] {
    gap: 6px;
}
.gender-btn[data-v-4e9ee0d4] {
    height: 32px;
    font-size: 12px;
}
.ledger-type-selection[data-v-4e9ee0d4] {
    gap: 6px;
}
.ledger-type-btn[data-v-4e9ee0d4] {
    height: 32px;
    font-size: 12px;
}
.picker-body[data-v-4e9ee0d4] {
    padding: 32rpx;
    gap: 20px;
}
.relation-item[data-v-4e9ee0d4], .event-type-item[data-v-4e9ee0d4] {
    padding: 15px 10px;
    font-size: 16px;
}
}

