|
|
.xqbox { background: linear-gradient(180deg, #F8FBFF 0%, #F0F7FF 100%); min-height: 100vh;}
/* 页面内容 */.page-content { height: calc(100vh - 120rpx); box-sizing: border-box;}
/* 动画效果 */@keyframes cardEnter { 0% { opacity: 0; transform: translateY(40rpx) scale(0.95); } 100% { opacity: 1; transform: translateY(0) scale(1); }}
@keyframes fadeInUp { 0% { opacity: 0; transform: translateY(30rpx); } 100% { opacity: 1; transform: translateY(0); }}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; }}
@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); }}
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10rpx); }}
.card-enter { animation: cardEnter 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;}
.fade-in-up { animation: fadeInUp 0.5s ease-out forwards; opacity: 0;}
.fade-in { animation: fadeIn 0.8s ease-out forwards; opacity: 0;}
.pulse { animation: pulse 2s infinite;}
.hover-effect { transition: all 0.3s ease;}
.hover-effect:active { transform: scale(0.95);}
/* 渐变背景 */.gradient-blue { background: linear-gradient(135deg, #6D9EFF 0%, #4A7CFF 100%); color: white !important;}
.gradient-orange { background: linear-gradient(135deg, #FF9500 0%, #FF7F00 100%); color: white !important;}
.gradient-pink { background: linear-gradient(135deg, #FF6B9D 0%, #FF4081 100%); color: white !important;}
.gradient-purple { background: linear-gradient(135deg, #9D4BFF 0%, #7C3AED 100%); color: white !important;}
.gradient-gold { background: linear-gradient(135deg, #FFD700 0%, #FFB300 100%); color: white !important;}
/* 用户问诊卡片 */.user-query-card { background: #FFFFFF; margin: 24rpx; border-radius: 28rpx; box-shadow: 0 12rpx 48rpx rgba(74, 144, 226, 0.15); border: 2rpx solid #FFFFFF; overflow: hidden; position: relative; backdrop-filter: blur(20rpx);}
/* 卡片装饰 */.card-decoration { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 1;}
.decoration-dot { position: absolute; border-radius: 50%; background: linear-gradient(135deg, rgba(109, 158, 255, 0.1) 0%, rgba(74, 124, 255, 0.1) 100%);}
.dot-1 { width: 120rpx; height: 120rpx; top: -40rpx; right: -40rpx;}
.dot-2 { width: 80rpx; height: 80rpx; bottom: 60rpx; left: -20rpx;}
.dot-3 { width: 60rpx; height: 60rpx; bottom: -20rpx; right: 80rpx;}
/* 用户信息区域 */.user-info-section { padding: 40rpx 32rpx 32rpx; display: flex; align-items: flex-start; position: relative; z-index: 2;}
.avatar-wrapper { position: relative; margin-right: 24rpx; flex-shrink: 0;}
.user-avatar { width: 88rpx; height: 88rpx; border-radius: 50%; border: 3rpx solid #FFFFFF; box-shadow: 0 8rpx 24rpx rgba(74, 144, 226, 0.3);}
.user-details { flex: 1;}
.user-name-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16rpx;}
.user-name { font-size: 34rpx; font-weight: 700; color: #1A1A1A; line-height: 1.2; text-shadow: 0 1rpx 2rpx rgba(0, 0, 0, 0.1);}
.status-badge { padding: 10rpx 24rpx; border-radius: 24rpx; font-size: 26rpx; font-weight: 700; min-width: 88rpx; text-align: center; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);}
.status-replied { background: linear-gradient(135deg, #2ECC71 0%, #27AE60 100%); color: white;}
.status-pending { background: linear-gradient(135deg, #FF9500 0%, #F39C12 100%); color: white;}
.pet-info { display: flex; flex-direction: column; gap: 16rpx;}
.pet-info-tags { display: flex; gap: 12rpx; flex-wrap: wrap;}
.pet-tag { padding: 6rpx 20rpx; border-radius: 20rpx; font-size: 24rpx; font-weight: 600; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);}
.time-info { display: flex; align-items: center; gap: 8rpx; background: rgba(109, 158, 255, 0.08); padding: 8rpx 16rpx; border-radius: 20rpx; align-self: flex-start;}
.time-text { font-size: 24rpx; color: #6D9EFF; font-weight: 500;}
/* 症状描述区域 - 调整到最左边 */.symptom-section { padding: 32rpx; position: relative; z-index: 2;}
.section-header { display: flex; align-items: center; margin-bottom: 28rpx;}
.section-title { font-size: 32rpx; font-weight: 700; color: #1A1A1A; position: relative; padding-right: 16rpx;}
.title-decoration { flex: 1; height: 2rpx; background: linear-gradient(90deg, #E5F0FF 0%, #6D9EFF 50%, #E5F0FF 100%); margin-left: 16rpx; border-radius: 1rpx;}
.symptom-content { background: #F8FBFF; border-radius: 24rpx; padding: 36rpx 32rpx; border: 2rpx solid #E5F0FF; position: relative; box-shadow: 0 4rpx 16rpx rgba(74, 144, 226, 0.1); transition: all 0.3s ease;}
.symptom-content:active { transform: translateY(-2rpx); box-shadow: 0 8rpx 24rpx rgba(74, 144, 226, 0.15);}
.quote-left { position: absolute; top: 20rpx; left: 20rpx; font-size: 48rpx; color: #6D9EFF; font-weight: 700; opacity: 0.3;}
.symptom-text { font-size: 30rpx; color: #333; line-height: 1.8; font-weight: 400; text-align: left;}
/* 图片展示区域 */.image-section { padding: 32rpx; position: relative; z-index: 2;}
.image-count { margin-left: auto; padding: 6rpx 16rpx; border-radius: 20rpx; font-size: 24rpx; font-weight: 600;}
.images-scroll { width: 100%;}
.images-container { display: flex; padding: 8rpx 0;}
.image-wrapper { margin-right: 20rpx; position: relative; border-radius: 20rpx; overflow: hidden; box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.15); transition: all 0.3s ease;}
.image-wrapper:last-child { margin-right: 0;}
.image-wrapper:active { transform: scale(0.98);}
.symptom-image { width: 220rpx; height: 220rpx; border-radius: 20rpx;}
/* 兽医回复区域 */.replies-section { margin: 24rpx;}
.reply-count { margin-left: auto; padding: 8rpx 20rpx; border-radius: 24rpx; display: flex; align-items: center; gap: 4rpx; box-shadow: 0 4rpx 12rpx rgba(157, 75, 255, 0.3);}
.count-number { font-size: 30rpx; font-weight: 700;}
.count-text { font-size: 24rpx; font-weight: 500; opacity: 0.9;}
/* 回复列表 */.replies-list { display: flex; flex-direction: column; gap: 24rpx;}
.vet-reply-card { background: #FFFFFF; border-radius: 28rpx; padding: 36rpx; box-shadow: 0 12rpx 48rpx rgba(74, 144, 226, 0.15); border: 2rpx solid #FFFFFF; position: relative; overflow: hidden; backdrop-filter: blur(20rpx);}
/* 兽医信息 */.vet-info { display: flex; align-items: center; margin-bottom: 32rpx;}
.vet-avatar { width: 80rpx; height: 80rpx; border-radius: 50%; border: 3rpx solid #FFFFFF; box-shadow: 0 8rpx 24rpx rgba(255, 215, 0, 0.3); margin-right: 20rpx; flex-shrink: 0;}
.vet-verified { position: absolute; bottom: 2rpx; right: 2rpx; width: 20rpx; height: 20rpx; background: #2ECC71; border: 2rpx solid white; border-radius: 50%;}
.vet-details { flex: 1;}
.vet-name-row { display: flex; align-items: center; margin-bottom: 12rpx;}
.vet-name { font-size: 32rpx; font-weight: 700; color: #1A1A1A; margin-right: 16rpx; text-shadow: 0 1rpx 2rpx rgba(0, 0, 0, 0.1);}
.vet-badge { padding: 2rpx 10rpx; border-radius: 20rpx; box-shadow: 0 4rpx 12rpx rgba(255, 215, 0, 0.3);}
.vet-title { font-size: 24rpx; font-weight: 700; letter-spacing: 0.5rpx;}
.vet-meta { display: flex; align-items: center; gap: 20rpx;}
.meta-item { display: flex; align-items: center; gap: 6rpx; background: rgba(109, 158, 255, 0.08); padding: 6rpx 12rpx; border-radius: 16rpx;}
.vet-hospital,.vet-experience { font-size: 24rpx; color: #6D9EFF; font-weight: 500;}
/* 回复内容 */.reply-content { margin-bottom: 28rpx;}
.reply-bubble { background: #F8FBFF; border-radius: 24rpx; padding: 32rpx; border: 2rpx solid #E5F0FF; position: relative; box-shadow: 0 4rpx 16rpx rgba(74, 144, 226, 0.1);}
.reply-bubble::before { content: ''; position: absolute; top: -12rpx; left: 40rpx; width: 0; height: 0; border-left: 12rpx solid transparent; border-right: 12rpx solid transparent; border-bottom: 12rpx solid #F8FBFF;}
.reply-text { font-size: 28rpx; color: #333; line-height: 1.8; font-weight: 400;}
/* 回复底部 */.reply-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 24rpx; border-top: 2rpx dashed #E5F0FF;}
.reply-time { display: flex; align-items: center; gap: 10rpx; background: rgba(109, 158, 255, 0.1); padding: 8rpx 20rpx; border-radius: 20rpx;}
/* 无回复状态 */.no-replies { background: #FFFFFF; border-radius: 28rpx; padding: 80rpx 40rpx; text-align: center; box-shadow: 0 12rpx 48rpx rgba(74, 144, 226, 0.15); border: 2rpx solid #FFFFFF; position: relative; overflow: hidden;}
.no-replies-icon { width: 200rpx; height: 150rpx; margin-bottom: 32rpx; opacity: 0.6; filter: hue-rotate(200deg);}
.no-replies-title { font-size: 32rpx; color: #333; font-weight: 700; margin-bottom: 16rpx; display: block; text-shadow: 0 1rpx 2rpx rgba(0, 0, 0, 0.1);}
.no-replies-desc { font-size: 26rpx; color: #999; line-height: 1.4; max-width: 400rpx; margin: 0 auto;}
.waiting-animation { display: flex; justify-content: center; gap: 12rpx; margin-top: 40rpx;}
.loading-dot { width: 16rpx; height: 16rpx; border-radius: 50%; background: #6D9EFF; animation: pulse 1.5s infinite ease-in-out;}
.loading-dot.dot-1 { animation-delay: 0s; }.loading-dot.dot-2 { animation-delay: 0.2s; }.loading-dot.dot-3 { animation-delay: 0.4s; }
/* 页面底部安全区域 */.page-bottom { height: 60rpx;}
|