|
|
.container-box { display: flex; flex-direction: column; height: 100vh; overflow: hidden;}
/* 专家卡片*/.expert-card { background-image: linear-gradient(to top, #48c6ef 0%, #6f86d6 100%); padding: 36rpx 32rpx; display: flex; align-items: center; color: white; box-shadow: 0 8rpx 24rpx rgba(0, 30, 10, 0.25); flex-shrink: 0; position: relative;}
.avatar-wrapper { position: relative; margin-right: 28rpx; flex-shrink: 0;}
.avatar { width: 140rpx; height: 140rpx; border-radius: 70rpx; border: 4rpx solid rgba(255, 255, 255, 0.25); background-color: #e6f0ea; box-shadow: 0 6rpx 16rpx rgba(0, 0, 0, 0.15); transition: transform 0.2s;}
.avatar:active { transform: scale(0.98);}
.online-status { position: absolute; bottom: 6rpx; right: 6rpx; width: 28rpx; height: 28rpx; border-radius: 14rpx; border: 4rpx solid #1a4b2e; background-color: #a0a0a0; transition: background-color 0.2s;}
.online-status.online { background-color: #4caf50; box-shadow: 0 0 0 2rpx rgba(76, 175, 80, 0.3);}
.online-status.offline { background-color: #9e9e9e;}
.info { flex: 1; display: flex; flex-direction: column; min-width: 0;}
.name-row { display: flex; align-items: center; margin-bottom: 12rpx; flex-wrap: wrap; gap: 16rpx;}
.name { font-size: 44rpx; font-weight: 600; line-height: 1.2; letter-spacing: 1rpx; text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.2);}
.online-text { font-size: 24rpx; background-color: rgba(255, 255, 255, 0.2); padding: 3rpx 14rpx; border-radius: 30rpx; backdrop-filter: blur(4px); border: 1rpx solid rgba(255, 255, 255, 0.15); font-weight: 400; color: #ffecb3;}
.specialty { font-size: 26rpx; opacity: 0.95; margin-bottom: 16rpx; display: flex; align-items: center; background-color: rgba(255, 255, 255, 0.1); padding: 8rpx 20rpx; border-radius: 40rpx; width: fit-content; backdrop-filter: blur(4px); border: 1rpx solid rgba(255, 255, 255, 0.1);}
.experience-tag { display: flex; align-items: center; background-color: rgba(255, 255, 255, 0.1); padding: 8rpx 22rpx 8rpx 18rpx; border-radius: 60rpx; width: fit-content;}
.tag-text { font-size: 26rpx; font-weight: 400;}
/* 列表头部 */.list-header { padding: 28rpx 32rpx 20rpx; display: flex; justify-content: space-between; align-items: center; background-color: transparent; flex-shrink: 0;}
.list-title-wrap { display: flex; align-items: baseline; gap: 12rpx;}
.list-title { font-size: 34rpx; font-weight: 600; color: #1f2d3d; letter-spacing: 0.5rpx;}
.list-count { font-size: 28rpx; color: #5f6b7a; background-color: #e9ecf0; padding: 4rpx 16rpx; border-radius: 30rpx; font-weight: 500;}
/* 滚动区域 */.apply-scroll { flex: 1; overflow-y: auto; padding: 0 32rpx; background-color: transparent; box-sizing: border-box;}
.apply-list { padding: 8rpx 0 30rpx;}
/* 申请项卡片 */.apply-item { background-color: #ffffff; border-radius: 32rpx; padding: 32rpx 28rpx; margin-bottom: 20rpx; display: flex; align-items: flex-start; box-shadow: 0 8rpx 24rpx rgba(0, 20, 10, 0.04); transition: all 0.25s ease; border: 1rpx solid #edf2f7; position: relative; backdrop-filter: blur(2px);}
.apply-item:active { background-color: #fafdff; transform: translateY(-4rpx); box-shadow: 0 16rpx 32rpx rgba(30, 60, 40, 0.08); border-color: #cbd5e0;}
.user-avatar { width: 96rpx; height: 96rpx; border-radius: 10rpx; background-color: #dde5ed; margin-right: 28rpx; flex-shrink: 0; border: 2rpx solid #e2e8f0; transition: border-color 0.2s;}
.apply-item:active .user-avatar { border-color: #2b6c4e;}
.apply-content { flex: 1; min-width: 0;}
.apply-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16rpx;}
.user-info { display: flex; align-items: center; gap: 16rpx; flex-wrap: wrap; flex: 1; min-width: 0;}
.user-name { font-size: 34rpx; font-weight: 600; color: #1e293b; max-width: 240rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.apply-time { font-size: 24rpx; color: #94a3b8; flex-shrink: 0; margin-left: 16rpx; background-color: #f8fafc; padding: 4rpx 16rpx; border-radius: 30rpx;}
.message-area { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22rpx;}
.message-preview { font-size: 28rpx; color: #475569; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; min-width: 0; margin-right: 16rpx; line-height: 1.4;}
.unread-badge { background: linear-gradient(145deg, #ff5f6d, #ff7b89); color: white; font-size: 22rpx; font-weight: 600; min-width: 40rpx; height: 40rpx; line-height: 40rpx; text-align: center; border-radius: 40rpx; padding: 0 12rpx; flex-shrink: 0; box-shadow: 0 4rpx 8rpx rgba(255, 95, 109, 0.25); border: 2rpx solid rgba(255, 255, 255, 0.5);}
/* 空状态 */.empty-state { text-align: center; padding: 80rpx 0; color: #94a3b8; display: flex; flex-direction: column; align-items: center;}
.empty-text { font-size: 32rpx; font-weight: 500; color: #64748b; margin-bottom: 8rpx;}
.empty-subtext { font-size: 26rpx; color: #a0afbe;}
/* 加载更多 */.loading-more { text-align: center; padding: 30rpx 0 40rpx; color: #5f7d9c; font-size: 26rpx; display: flex; align-items: center; justify-content: center; gap: 16rpx;}
.loading-spinner { width: 32rpx; height: 32rpx; border: 4rpx solid #d1d9e6; border-top-color: #2b6c4e; border-radius: 50%; animation: spin 0.8s linear infinite;}
@keyframes spin { to { transform: rotate(360deg); }}
.no-more { text-align: center; padding: 30rpx 0; color: #9aa9b9; font-size: 26rpx; position: relative;}
.no-more::before,.no-more::after { content: ''; position: absolute; top: 50%; width: 60rpx; height: 1rpx; background-color: #dce3ec;}
.no-more::before { left: 60rpx;}
.no-more::after { right: 60rpx;}
|