/* 业务通用样式 - 列表卡片 (项目列表、待办列表等) */
.common-list-card {
  background-color: #fff;
  border-radius: 16rpx;
  padding: 30rpx;
  margin-bottom: 24rpx;
  box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.03);
  position: relative;
  overflow: hidden;

  &::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 6rpx;
    height: 100%;
    background-color: #1c9bfd;
  }

  .card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24rpx;
    padding-bottom: 20rpx;
    border-bottom: 2rpx dashed #eee;

    .title {
      font-size: 32rpx;
      font-weight: bold;
      color: #343A3F;
      flex: 1;
      margin-right: 20rpx;
      line-height: 1.4;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      line-clamp: 2;
      white-space: normal;
    }

    .status-tag {
      font-size: 24rpx;
      padding: 6rpx 16rpx;
      border-radius: 8rpx;
      white-space: nowrap;

      &.status-05 {
        color: #8c8c8c;
        background-color: rgba(140, 140, 140, 0.1);
      }

      // 待立项
      &.status-10 {
        color: #1c9bfd;
        background-color: rgba(28, 155, 253, 0.1);
      }

      // 立项
      &.status-20 {
        color: #52c41a;
        background-color: rgba(82, 196, 26, 0.1);
      }

      // 在研
      &.status-30 {
        color: #faad14;
        background-color: rgba(250, 173, 20, 0.1);
      }

      // 结题验收
      &.status-40 {
        color: #f5222d;
        background-color: rgba(245, 34, 45, 0.1);
      }

      // 中止
    }
  }

  .card-body {
    .info-item {
      display: flex;
      padding: 16rpx 0;
      border-bottom: 2rpx dashed #f5f5f5;
      font-size: 28rpx;
      line-height: 1.5;

      &:last-child {
        border-bottom: none;
      }

      .label {
        color: #343A3F;
        width: 180rpx;
        flex-shrink: 0;
      }

      .value {
        color: #585858;
        flex: 1;
        text-align: right;
        word-break: break-all;
      }

      .amount {
        color: #ff4d4f;
        font-weight: bold;
        font-family: din;
        font-size: 32rpx;
      }
    }
  }

  .card-footer {
    margin-top: 20rpx;
    padding-top: 20rpx;
    border-top: 2rpx solid #f5f5f5;
    display: flex;
    justify-content: flex-end;
  }
}

/* 业务通用样式 - 详情页分块卡片 */
.common-section-card {
  background-color: #fff;
  border-radius: 20rpx;
  padding: 30rpx;
  margin-bottom: 24rpx;
  box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.03);

  .section-title {
    font-size: 32rpx;
    font-weight: bold;
    color: #1a1a1a;
    margin-bottom: 24rpx;
    padding-left: 20rpx;
    position: relative;

    &::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 8rpx;
      height: 32rpx;
      background-color: #1c9bfd;
      border-radius: 4rpx;
    }
  }

  .info-row {
    display: flex;
    justify-content: space-between;
    padding: 16rpx 0;
    border-bottom: 1rpx solid #f8f8f8;
    font-size: 28rpx;

    &:last-child {
      border-bottom: none;
    }

    .label {
      color: #8c8c8c;
      width: 180rpx;
      flex-shrink: 0;
    }

    .value {
      color: #262626;
      flex: 1;
      text-align: right;
      word-break: break-all;
    }

    &.column {
      flex-direction: column;
      align-items: flex-start;

      .label {
        margin-bottom: 12rpx;
        color: #909399;
      }

      .value {
        text-align: left !important;
        width: 100%;
      }
    }

    .remark {
      background-color: #f8fafc;
      padding: 20rpx;
      border-radius: 12rpx;
      font-size: 26rpx;
      line-height: 1.6;
      color: #606266;
      min-height: 80rpx;
      width: 100%;
      box-sizing: border-box;
    }
  }
}

/* 业务通用样式 - 统一附件列表样式 (项目文档) */
.common-file-list {
  .file-item {
    display: flex;
    align-items: center;
    padding: 24rpx 0;
    border-bottom: 2rpx dashed #f5f5f5;

    &:last-child {
      border-bottom: none;
    }

    .file-info {
      flex: 1;
      display: flex;
      flex-direction: column;

      .f-name {
        font-size: 28rpx;
        color: #343A3F;
        font-weight: 500;
        margin-bottom: 12rpx;
        word-break: break-all;
      }

      .f-meta {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 24rpx;

        .f-type {
          color: #1677ff;
          background-color: #e6f4ff;
          padding: 4rpx 12rpx;
          border-radius: 6rpx;
        }

        .f-date {
          color: #585858;
        }
      }
    }
  }
}