| | |
| | | .project-card, |
| | | .attachments-card, |
| | | .player-card, |
| | | .rating-card, |
| | | .feedback-card { |
| | | .feedback-card, |
| | | .timeline-card { |
| | | background-color: #ffffff; |
| | | border-radius: 16rpx; |
| | | margin-bottom: 20rpx; |
| | |
| | | border-left: 6rpx solid #409eff; |
| | | } |
| | | |
| | | /* 时间轴 */ |
| | | .timeline-loading, |
| | | .timeline-error, |
| | | .timeline-empty { |
| | | padding: 40rpx 10rpx; |
| | | text-align: center; |
| | | color: #666666; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .timeline-wrapper { |
| | | margin-top: 10rpx; |
| | | } |
| | | |
| | | .timeline-item { |
| | | display: flex; |
| | | position: relative; |
| | | padding-left: 80rpx; |
| | | padding-bottom: 40rpx; |
| | | } |
| | | |
| | | .timeline-item:last-child { |
| | | padding-bottom: 0; |
| | | } |
| | | |
| | | .timeline-item.timeline-item-clickable .timeline-body { |
| | | border-color: rgba(22, 119, 255, 0.45); |
| | | box-shadow: 0 6rpx 16rpx rgba(22, 119, 255, 0.08); |
| | | } |
| | | |
| | | .timeline-axis { |
| | | position: absolute; |
| | | left: 32rpx; |
| | | top: 0; |
| | | bottom: 0; |
| | | display: flex; |
| | | align-items: flex-start; |
| | | } |
| | | |
| | | .timeline-dot { |
| | | width: 24rpx; |
| | | height: 24rpx; |
| | | border-radius: 50%; |
| | | background-color: #d0d3d8; |
| | | margin-top: 8rpx; |
| | | } |
| | | |
| | | .timeline-item-active .timeline-dot { |
| | | background-color: #1677ff; |
| | | box-shadow: 0 0 0 8rpx rgba(22, 119, 255, 0.12); |
| | | } |
| | | |
| | | .timeline-line { |
| | | width: 4rpx; |
| | | background-color: #e5e9ef; |
| | | flex: 1; |
| | | margin: 0 auto; |
| | | margin-top: 8rpx; |
| | | } |
| | | |
| | | .timeline-item-active .timeline-line { |
| | | background-color: rgba(22, 119, 255, 0.2); |
| | | } |
| | | |
| | | .timeline-body { |
| | | flex: 1; |
| | | background-color: #f8f9fa; |
| | | border-radius: 16rpx; |
| | | padding: 24rpx; |
| | | border: 2rpx solid #e0e4eb; |
| | | } |
| | | |
| | | .timeline-item-active .timeline-body { |
| | | border-color: rgba(22, 119, 255, 0.35); |
| | | background-color: rgba(22, 119, 255, 0.05); |
| | | } |
| | | |
| | | .timeline-title { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | gap: 20rpx; |
| | | } |
| | | |
| | | .stage-name { |
| | | font-size: 32rpx; |
| | | font-weight: 600; |
| | | color: #333333; |
| | | } |
| | | |
| | | .stage-score { |
| | | font-size: 28rpx; |
| | | color: #1677ff; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .timeline-item-inactive .stage-score { |
| | | color: #999999; |
| | | } |
| | | |
| | | .timeline-sub { |
| | | margin-top: 12rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | gap: 16rpx; |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | } |
| | | |
| | | .stage-status { |
| | | padding: 4rpx 16rpx; |
| | | border-radius: 16rpx; |
| | | background-color: rgba(22, 119, 255, 0.1); |
| | | color: #1677ff; |
| | | font-size: 24rpx; |
| | | } |
| | | |
| | | .stage-status-inactive { |
| | | background-color: #f4f5f8; |
| | | color: #909399; |
| | | } |
| | | |
| | | .timeline-actions { |
| | | margin-top: 12rpx; |
| | | } |
| | | |
| | | .detail-link { |
| | | color: #1677ff; |
| | | font-size: 26rpx; |
| | | } |
| | | |
| | | .detail-link:active { |
| | | opacity: 0.7; |
| | | } |
| | | |
| | | /* 评分详情弹窗 */ |
| | | .rating-detail-overlay { |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | z-index: 999; |
| | | } |
| | | |
| | | .overlay-mask { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: rgba(0, 0, 0, 0.45); |
| | | } |
| | | |
| | | .overlay-panel { |
| | | position: absolute; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background-color: #ffffff; |
| | | border-top-left-radius: 24rpx; |
| | | border-top-right-radius: 24rpx; |
| | | padding: 40rpx 32rpx 60rpx; |
| | | max-height: 80vh; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .overlay-header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | .overlay-title { |
| | | font-size: 34rpx; |
| | | font-weight: 600; |
| | | color: #333333; |
| | | } |
| | | |
| | | .overlay-close { |
| | | font-size: 44rpx; |
| | | color: #999999; |
| | | padding: 0 10rpx; |
| | | } |
| | | |
| | | .overlay-subtitle { |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | margin-top: 12rpx; |
| | | } |
| | | |
| | | .overlay-summary { |
| | | margin-top: 24rpx; |
| | | padding: 24rpx; |
| | | background-color: #f8f9fa; |
| | | border-radius: 16rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | font-size: 26rpx; |
| | | color: #555555; |
| | | } |
| | | |
| | | .summary-score { |
| | | font-weight: 600; |
| | | color: #1677ff; |
| | | } |
| | | |
| | | .overlay-body { |
| | | margin-top: 30rpx; |
| | | } |
| | | |
| | | .panel-loading, |
| | | .panel-error, |
| | | .panel-empty { |
| | | text-align: center; |
| | | font-size: 28rpx; |
| | | color: #666666; |
| | | padding: 40rpx 0; |
| | | } |
| | | |
| | | .judge-item { |
| | | border: 2rpx solid #e4e7ed; |
| | | border-radius: 16rpx; |
| | | padding: 24rpx; |
| | | margin-bottom: 24rpx; |
| | | background-color: #ffffff; |
| | | } |
| | | |
| | | .judge-header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | margin-bottom: 8rpx; |
| | | } |
| | | |
| | | .judge-name { |
| | | font-size: 30rpx; |
| | | font-weight: 600; |
| | | color: #333333; |
| | | } |
| | | |
| | | .judge-score { |
| | | font-size: 30rpx; |
| | | font-weight: 600; |
| | | color: #1677ff; |
| | | } |
| | | |
| | | .judge-time { |
| | | font-size: 24rpx; |
| | | color: #999999; |
| | | } |
| | | |
| | | .judge-feedback { |
| | | margin-top: 16rpx; |
| | | font-size: 28rpx; |
| | | color: #333333; |
| | | line-height: 1.5; |
| | | background-color: #f8f9fa; |
| | | padding: 16rpx; |
| | | border-radius: 12rpx; |
| | | } |
| | | |
| | | .loading-spinner.small { |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | border-width: 5rpx; |
| | | } |
| | | |
| | | /* 加载状态 */ |
| | | .loading-container { |
| | | display: flex; |