.exp-list { padding-bottom: 40rpx; } .section { border-bottom: 1rpx solid #E5E5E5; padding: 30rpx 0 40rpx; // Reduced top padding to move list upward &:first-child { padding-top: 10rpx; // Special fix to push the first item up } &.border-none { border-bottom: none; } .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30rpx; .section-title { font-size: 32rpx; // Reduced from 38rpx to match hierarchy font-weight: 600; color: #333333; // Match the label color in profile page } .icon-plus { width: 52rpx; height: 52rpx; border-radius: 50%; background-color: #F0F6FF; // Soft blue solid background position: relative; border: none; // Removed outline for cleaner look transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); // Create perfect centered cross icon using pseudo elements to avoid OS font baseline misalignment &::before, &::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: $brand-primary; border-radius: 2rpx; transition: background-color 0.2s; } // horizontal line &::before { width: 24rpx; height: 4rpx; } // vertical line &::after { width: 4rpx; height: 24rpx; } &:active { background-color: $brand-primary; transform: scale(0.92); &::before, &::after { background-color: #FFFFFF; } } } } .item-list { display: flex; flex-direction: column; .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 50rpx 0; background-color: #F8FAFF; border-radius: 20rpx; margin: 16rpx 0; border: 2rpx dashed #D6E4FF; .empty-icon { width: 72rpx; height: 72rpx; margin-bottom: 24rpx; } .empty-text { font-size: 26rpx; color: #9AADD1; } } .item { display: flex; justify-content: space-between; align-items: center; padding: 32rpx 28rpx; // Increased padding for an airy feel margin: 16rpx 0; background: linear-gradient(145deg, #F8FAFF 0%, #EFF4FF 100%); // Highly elegant tinted blue background border: 2rpx solid #EAF0FF; border-radius: 20rpx; box-shadow: 0 4rpx 12rpx rgba(31, 108, 255, 0.04); transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); position: relative; // added for icon-close .icon-close { position: absolute; top: -12rpx; right: -12rpx; width: 32rpx; height: 32rpx; border-radius: 50%; background-color: #E6F0FF; // 淡蓝色背景 display: flex; justify-content: center; align-items: center; z-index: 10; transition: all 0.2s; box-shadow: 0 2rpx 6rpx rgba(31, 108, 255, 0.1); // 添加极淡色阴影增强分离感 &::before, &::after { content: ''; position: absolute; width: 14rpx; height: 3rpx; background-color: #6B93E0; // 浅蓝色叉号 border-radius: 2rpx; transition: all 0.2s; } &::before { transform: rotate(45deg); } &::after { transform: rotate(-45deg); } &:active { background-color: #FFDEE0; transform: scale(0.9); &::before, &::after { background-color: #FF4D4F; } } } &:active { background: #EAF2FF; transform: scale(0.98); box-shadow: 0 2rpx 6rpx rgba(31, 108, 255, 0.06); } .item-content { flex: 1; padding-right: 30rpx; .title-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12rpx; .item-title { font-size: 30rpx; // Reduced from 32rpx font-weight: 600; // Stand out color: #1A1A1A; line-height: 1.4; flex: 1; } .status-tags { display: flex; align-items: center; margin-left: 16rpx; .tag-hidden { font-size: 20rpx; color: #9AADD1; background-color: rgba(154, 173, 209, 0.12); padding: 4rpx 12rpx; border-radius: 6rpx; font-weight: 500; border: 1rpx solid rgba(154, 173, 209, 0.2); } } } .item-desc { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0; margin-top: 12rpx; .desc-text { font-size: 26rpx; color: #555555; line-height: 1.5; flex: 1; } .item-time { font-size: 24rpx; color: #666666; font-weight: 500; white-space: nowrap; margin-left: 20rpx; } } .item-detail { font-size: 26rpx; color: #666666; line-height: 1.6; margin-top: 12rpx; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; } } .arrow { width: 14rpx; // Reduced size for delicacy height: 14rpx; border-right: 3rpx solid #9AADD1; // Changed to a sleek grayish-blue matching the card border-top: 3rpx solid #9AADD1; transform: rotate(45deg); margin-left: 10rpx; border-radius: 2rpx; // Soften the sharp corner slightly } } } } .custom-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 999; visibility: hidden; opacity: 0; transition: all 0.3s; display: flex; justify-content: center; align-items: center; &.is-show { visibility: visible; opacity: 1; .modal-content { transform: scale(1); opacity: 1; } } .modal-mask { position: absolute; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); } .modal-content { position: relative; width: 600rpx; background-color: #FFFFFF; border-radius: 24rpx; transform: scale(0.9); opacity: 0; transition: all 0.3s; overflow: hidden; .modal-title { font-size: 36rpx; font-weight: 600; color: #1A1A1A; text-align: center; padding: 40rpx 0 20rpx; } .modal-body { font-size: 32rpx; color: #666666; text-align: center; padding: 0 40rpx 50rpx; line-height: 1.5; } .modal-footer { display: flex; justify-content: space-between; align-items: center; padding: 0 40rpx 40rpx; view { flex: 1; height: 80rpx; display: flex; justify-content: center; align-items: center; font-size: 30rpx; font-weight: 500; border-radius: 40rpx; transition: all 0.25s; &:active { transform: scale(0.96); } } .btn-cancel { background-color: #F0F4FC; color: #555555; margin-right: 24rpx; } .btn-confirm { background: linear-gradient(135deg, $brand-primary 0%, #0052D9 100%); color: #FFFFFF; box-shadow: 0 8rpx 16rpx rgba(31, 108, 255, 0.2); } } } }