.page { padding-bottom: 60rpx; }
.profile { display: flex; align-items: center; gap: 24rpx; }
.avatar {
  width: 110rpx; height: 110rpx;
  border-radius: 50%;
  background: linear-gradient(135deg, #d5f5d5, #a5e8a5);
  display: flex; align-items: center; justify-content: center;
  font-size: 60rpx;
}
.pinfo .t { font-size: 34rpx; font-weight: 700; color: #2f6f4f; }
.pinfo .d { font-size: 26rpx; color: #b8860b; margin-top: 6rpx; }

.sec-title { font-size: 30rpx; font-weight: 700; color: #3a5a3a; margin-bottom: 18rpx; }
.grid { display: flex; }
.cell { flex: 1; text-align: center; }
.cell .n { display: block; font-size: 38rpx; font-weight: 700; color: #2f6f4f; }
.cell .l { display: block; font-size: 22rpx; color: #8a9a8a; margin-top: 6rpx; }

.checkin-row { display: flex; align-items: center; gap: 20rpx; }
.checkin-row .d { flex: 1; font-size: 24rpx; color: #5a6a5a; }
.btn.small { padding: 12rpx 26rpx; font-size: 24rpx; border-radius: 32rpx; }

.ach { display: flex; align-items: center; gap: 18rpx; padding: 14rpx 0; border-bottom: 1rpx solid #eef3ee; }
.ach:last-child { border-bottom: none; }
.ach-ico { font-size: 34rpx; }
.ach-info .t { font-size: 28rpx; color: #3a5a3a; font-weight: 600; }
.ach-info .d { font-size: 22rpx; color: #8a9a8a; margin-top: 2rpx; }

.btn-danger { background: #fff; color: #e53935; border: 2rpx solid #e53935; }
.danger .btn { margin-top: 8rpx; }
