/**
 * 案件评估模块样式
 * 仅保留必要的自定义样式和动画
 */

/* 步骤指示器样式 */
.step-indicator {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #9CA3AF;
  transition: color 0.3s ease;
}

/* 步骤指示器圆形数字样式 - 默认状态 */
.step-indicator > div {
  background-color: #E5E7EB;
  color: #4B5563;
  transition: all 0.3s ease;
}

/* 激活状态：蓝色背景 */
.step-indicator.active > div {
  background-color: #2563EB;
  color: white;
}

/* 完成状态：绿色背景 */
.step-indicator.completed > div {
  background-color: #10B981;
  color: white;
}

/* 步骤内容样式 */
.step-content {
  display: none;
  animation: fade-in 0.3s ease-out;
}

.step-content.active {
  display: block;
}

/* 字段错误提示 */
.field-error {
  color: #EF4444;
  font-size: 0.875rem;
  margin-top: 0.25rem;
}

.field-error.hidden {
  display: none;
}

/* 单选框和复选框容器样式 */
input[type="radio"],
input[type="checkbox"] {
  accent-color: #2563EB;
}

/* 步骤导航按钮样式 */
.step-nav-btn {
  min-width: 120px;
}

/* 表单验证错误样式 */
.validation-error {
  border: 2px solid #EF4444 !important;
  border-radius: 0.5rem !important;
  padding: 1rem !important;
  margin-bottom: 0.5rem !important;
  background-color: #FEF2F2 !important;
  transition: all 0.3s ease-in-out;
}

.validation-error label {
  color: #DC2626 !important;
  font-weight: 500 !important;
}

/* 单选框组验证错误样式 */
.radio-group-validation-error {
  border: 2px solid #EF4444 !important;
  border-radius: 0.5rem !important;
  padding: 1rem !important;
  margin-bottom: 0.5rem !important;
  background-color: #FEF2F2 !important;
  transition: all 0.3s ease-in-out;
}

.radio-group-validation-error label.block.font-bold {
  color: #DC2626 !important;
  font-weight: 600 !important;
}

/* 提示消息样式 */
.field-hint-message {
  font-size: 0.875rem;
  color: #3B82F6;
  margin-top: 0.25rem;
  animation: fade-in 0.3s ease-out;
  background-color: #EFF6FF;
  border-left: 3px solid #3B82F6;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}

/* 打印样式 */
@media print {
  .no-print {
    display: none !important;
  }
}

/* 辅助功能 */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 高对比度模式支持 */
@media (prefers-contrast: high) {
  input, select, textarea {
    border-width: 2px;
  }
}

/* 减少动画模式支持 */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
