.create-page { height: 100vh; display: flex; flex-direction: column; } .scroll-body { flex: 1; height: 0; } .section-title { font-size: 26rpx; color: #8E8E93; padding: 24rpx 24rpx 16rpx; } .type-card { position: relative; margin: 0 24rpx 20rpx; border: 2rpx solid transparent; } .type-card.active { border-color: #007AFF; } .type-name { font-size: 30rpx; font-weight: 600; color: #000; } .type-desc { font-size: 24rpx; color: #8E8E93; margin-top: 8rpx; } .type-check { position: absolute; top: 32rpx; right: 32rpx; width: 36rpx; height: 36rpx; color: #007AFF; } .select-entry { margin: 0 24rpx 20rpx; display: flex; align-items: center; justify-content: space-between; } .entry-left { display: flex; align-items: center; } .entry-icon { width: 72rpx; height: 72rpx; border-radius: 24rpx; background: rgba(0, 122, 255, 0.1); color: #007AFF; display: flex; align-items: center; justify-content: center; margin-right: 24rpx; } .entry-icon .icon { width: 40rpx; height: 40rpx; } .entry-title { font-size: 28rpx; font-weight: 600; color: #1C1C1E; } .entry-right { display: flex; align-items: center; color: #8E8E93; } .entry-count { font-size: 26rpx; margin-right: 8rpx; } .entry-count.on { color: #007AFF; } .entry-right .icon { width: 28rpx; height: 28rpx; color: #C7C7CC; } .expire-card { margin: 0 24rpx; padding: 0 32rpx; } .expire-item { display: flex; align-items: center; justify-content: space-between; height: 88rpx; font-size: 28rpx; color: #000; } .expire-check { width: 36rpx; height: 36rpx; color: #007AFF; } .footer { padding: 24rpx; padding-bottom: calc(40rpx + env(safe-area-inset-bottom)); } /* 选择视图 */ .select-view { flex: 1; height: 0; display: flex; flex-direction: column; } .cat-scroll { background: #fff; white-space: nowrap; flex-shrink: 0; } .cat-row { display: inline-flex; padding: 20rpx 24rpx; } .cat-item { flex-shrink: 0; padding: 0 32rpx; height: 60rpx; line-height: 60rpx; border-radius: 30rpx; font-size: 26rpx; color: #3C3C43; background: #F2F2F7; margin-right: 16rpx; } .cat-item.active { background: #007AFF; color: #fff; } .select-body { flex: 1; height: 0; } .grid { display: flex; flex-wrap: wrap; padding: 24rpx; gap: 24rpx; } .grid-item { width: calc(50% - 12rpx); box-sizing: border-box; } .sk-card { height: 360rpx; border-radius: 32rpx; } .select-footer { flex-shrink: 0; background: #fff; border-top: 1rpx solid #E5E5EA; display: flex; align-items: center; justify-content: space-between; padding: 20rpx 32rpx; padding-bottom: calc(20rpx + env(safe-area-inset-bottom)); } .sf-count { font-size: 30rpx; font-weight: 600; color: #1C1C1E; } .sf-confirm { width: 200rpx; height: 80rpx; font-size: 28rpx; } /* 成功视图 */ .success-view { flex: 1; padding: 48rpx 24rpx; display: flex; flex-direction: column; align-items: center; } .success-icon { width: 120rpx; height: 120rpx; border-radius: 50%; background: #34C759; color: #fff; display: flex; align-items: center; justify-content: center; } .success-icon .icon { width: 64rpx; height: 64rpx; } .success-title { font-size: 34rpx; font-weight: 600; color: #000; margin-top: 24rpx; } .preview-card { width: 100%; background: #fff; border-radius: 32rpx; margin-top: 40rpx; padding: 32rpx; box-sizing: border-box; } .preview-top { display: flex; align-items: center; } .avatar { width: 64rpx; height: 64rpx; border-radius: 50%; background: #F2F2F7; overflow: hidden; display: flex; align-items: center; justify-content: center; color: #C7C7CC; margin-right: 16rpx; } .avatar-img { width: 100%; height: 100%; } .avatar-placeholder { width: 40rpx; height: 40rpx; } .preview-name { font-size: 26rpx; color: #000; } .preview-body { height: 320rpx; background: #F8F8FA; border-radius: 24rpx; margin-top: 24rpx; display: flex; align-items: center; justify-content: center; color: #C7C7CC; } .preview-body .icon { width: 96rpx; height: 96rpx; } .preview-btn { margin-top: 24rpx; height: 88rpx; border-radius: 24rpx; background: #007AFF; color: #fff; font-size: 28rpx; display: flex; align-items: center; justify-content: center; } .success-btns { width: 100%; display: flex; gap: 20rpx; margin-top: 40rpx; } .success-btns .btn { flex: 1; }