.intention-form { padding-bottom: 40rpx; } .form-section { margin-bottom: 50rpx; .section-title { font-size: 32rpx; font-weight: 600; color: #333333; margin-bottom: 24rpx; display: flex; align-items: center; .sub { font-size: 26rpx; color: #B3B3B3; font-weight: normal; margin-left: 12rpx; } } .tag-list { display: flex; flex-wrap: wrap; gap: 20rpx; .tag-item { flex: 0 0 calc(33.33% - 14rpx); // 3 items per row approx height: 76rpx; line-height: 76rpx; text-align: center; background-color: #F8FAFC; border-radius: 16rpx; color: #666666; font-size: 28rpx; box-sizing: border-box; border: 2rpx solid transparent; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); &.active { background-color: #F0F6FF; color: $brand-primary; border-color: rgba(31, 108, 255, 0.4); font-weight: 500; } &:active { transform: scale(0.98); } } } .input-box { display: flex; justify-content: space-between; align-items: center; background-color: #F8FAFC; border-radius: 16rpx; padding: 0 32rpx; height: 96rpx; transition: all 0.3s ease; border: 2rpx solid transparent; &:active { background-color: #EBF1FA; } .date-text { font-size: 30rpx; color: #1A1A1A; font-weight: 500; &.is-empty { color: #A0AABF; font-weight: 400; } } .arrow { width: 14rpx; height: 14rpx; border-right: 3.5rpx solid #B0BACC; border-top: 3.5rpx solid #B0BACC; transform: rotate(45deg); margin-left: 20rpx; border-radius: 2rpx; } } } .list-section { .item-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24rpx; .section-title { margin-bottom: 0; } .icon-plus { width: 52rpx; height: 52rpx; border-radius: 50%; background-color: #F0F6FF; position: relative; border: none; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); &::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; } &::before { width: 24rpx; height: 4rpx; } &::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: 36rpx 28rpx; margin: 16rpx 0; background: linear-gradient(145deg, #F8FAFF 0%, #EFF4FF 100%); border: 2rpx solid #EAF0FF; border-radius: 20rpx; box-shadow: 0 4rpx 12rpx rgba(31, 108, 255, 0.04); position: relative; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); .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: flex-start; align-items: center; .item-title { font-size: 32rpx; font-weight: 600; color: #1A1A1A; } } } } } } .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); } } } }