.page-sign-in {
  background: #f2f3f7;
	padding-bottom: calc(30rpx + env(safe-area-inset-bottom));
	.member-info {
		padding: 40rpx 0 40rpx 30rpx;
		position: relative;
		.bg {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 300rpx;
			font-size: 0;
			border-bottom-left-radius: 50rpx;
			background: linear-gradient(to right, #ff1a4a, #e90103);
			image {
				position: absolute;
				right: 80rpx;
				top: 0;
				width: 500rpx;
				height: 300rpx;
			}
		}
		.user-box {
			display: flex;
			align-items: center;
			position: relative;
			.sculpture {
				width: 100rpx;
				height: 100rpx;
				border-radius: 50%;
				overflow: hidden;
				font-size: 0;
			}
			.text-box {
				flex: 1;
				margin: 0 20rpx;
				color: #fff;
				padding-bottom: 10rpx;
				.days {
					font-size: 32rpx;
					font-weight: 600;
					.num {
						color: #ffff1b;
						font-size: 36rpx;
						margin: 0 6rpx;
					}
				}
				.due {
					color: #fff;
					margin-top: 10rpx;
					.num {
						color: #ffff1b;
						margin: 0 4rpx;
					}
				}
			}
			.my-integral {
				background: rgba(0,0,0,.1);
				color: #fff;
				height: 70rpx;
				border-radius: 70rpx 0 0 70rpx;
				display: flex;
				align-items: center;
				padding: 0 16rpx;
				.img {
					width: 40rpx;
					height: 40rpx;
					font-size: 0;
				}
				.text {
					font-size: 32rpx;
					font-weight: 600;
					margin: 0 10rpx;
				}
			}
		}
	}
	.daily-sign {
		background: #fff;
		border-radius: 20rpx;
		position: relative;
		margin: 0 30rpx;
		padding: 30rpx;
		.tit {
			font-size: 28rpx;
			font-weight: 600;
		}
		.sign-box {
			.category {
				margin-top: 30rpx;
				white-space: nowrap;
			}
			.item {
				display: inline-block;
				width: auto;
				min-width: 90rpx;
				padding: 20rpx 10rpx;
				text-align: center;
				.item-box {
					background: #f5f5f5;
					border-radius: 10rpx;
					padding: 16rpx 10rpx;
				}
				.text {
					font-size: 20rpx;
					font-weight: 600;
					overflow: hidden;
					text-overflow: ellipsis;
					white-space: nowrap;
				}
				.number {
					font-size: 0;
					width: 50rpx;
					height: 50rpx;
					margin: 10rpx auto 0;
				}
				.day {
					margin-top: 20rpx;
					color: #999;
				}
			}
			.item.available {
				.item-box {
					background: #fc1b35;
					box-shadow: 4rpx 10rpx 10rpx rgba(252,27,53,.1);
				}
				.text {
					color: #fff;
				}
				.day {
					color: #000;
					font-weight: 600;
				}
			}
			.item.received {
				.text {
					color: #999;
				}
				.number {
					display: flex;
					width: 100%;
					justify-content: center;
					color: #999;
					font-size: 20rpx;
					line-height: 50rpx;
				}
			}
		}
		.btn {
			margin: 30rpx auto 0;
			width: 500rpx;
			height: 70rpx;
			line-height: 70rpx;
			color: #fff;
			border-radius: 70rpx;
			text-align: center;
			font-weight: 600;
			font-size: 26rpx;
			background: #fc1b35;
		}
		.btn.grey {
			background: #dddddd;
		}
	}
	.upgrade {
		margin: 30rpx 30rpx 0;
		padding: 30rpx;
		border-radius: 20rpx;
		background: #fff;
		.tit {
			font-size: 28rpx;
			font-weight: 600;
		}
		.item {
			margin-top: 30rpx;
			padding-bottom: 30rpx;
			display: flex;
			align-items: center;
			justify-content: space-between;
			border-bottom: 2rpx solid #f9f9f9;
			&:last-child {
				border: 0;
				padding-bottom: 0;
			}
			.text-box {
				margin-right: 20rpx;
				.text {
					font-weight: 600;
				}
				.add {
					color: #fc1b35;
					font-weight: 600;
					margin-top: 10rpx;
					display: inline-block;
					padding: 4rpx 14rpx;
					background: #fff2f4;
					border-radius: 4rpx;
					font-size: 20rpx;
				}
			}
			.btn {
				height: 56rpx;
				line-height: 56rpx;
				padding: 0 30rpx;
				color: #fff;
				font-weight: 600;
				border-radius: 56rpx;
				background: #fc1b35;
			}
			.btn.default {
				background: #ddd;
			}
		}
	}
	.prods {
		.item {
			.text-box {
				.price {
					align-items: center;
					.integral-icon {
						width: 24rpx;
						height: 24rpx;
						font-size: 0;
						margin-right: 2rpx;
					}
					.symbol {
						margin: 0 4rpx;
					}
				}
			}
		}
	}
}
.prods {
	display: flex;
	justify-content: space-between;
}
