.address-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: 1000; display: flex; flex-direction: column; justify-content: flex-end; } .address-sheet { background: #FFFFFF; border-radius: 32rpx 32rpx 0 0; padding-bottom: env(safe-area-inset-bottom); animation: slideUp 0.3s ease; max-height: 85vh; overflow-y: auto; display: flex; flex-direction: column; } @keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } } .address-header { display: flex; align-items: center; justify-content: center; padding: 32rpx; position: relative; border-bottom: 1rpx solid #F5F5F5; flex-shrink: 0; } .address-title { font-size: 32rpx; font-weight: 600; color: #1A1A1A; } .address-back { position: absolute; left: 32rpx; top: 50%; transform: translateY(-50%); padding: 8rpx; } .address-close { position: absolute; right: 32rpx; top: 50%; transform: translateY(-50%); padding: 8rpx; } .address-body { flex: 1; overflow-y: auto; display: flex; flex-direction: column; } .address-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 120rpx 32rpx; } .address-empty-text { margin-top: 24rpx; font-size: 28rpx; color: #999999; } .address-list { padding: 24rpx 32rpx; } .address-card { background: #FAFAFA; border-radius: 16rpx; padding: 24rpx; margin-bottom: 24rpx; } .address-card-main { margin-bottom: 16rpx; } .address-card-top { display: flex; align-items: center; gap: 16rpx; margin-bottom: 12rpx; } .address-label { font-size: 30rpx; font-weight: 600; color: #1A1A1A; } .address-default-tag { font-size: 22rpx; color: #FF8500; background: rgba(255, 133, 0, 0.1); padding: 4rpx 12rpx; border-radius: 8rpx; } .address-card-content { display: flex; flex-direction: column; gap: 8rpx; } .address-region { font-size: 28rpx; color: #666666; } .address-detail { font-size: 28rpx; color: #1A1A1A; line-height: 1.5; } .address-postcode { font-size: 24rpx; color: #999999; } .address-card-actions { display: flex; align-items: center; justify-content: space-between; border-top: 1rpx solid #EEEEEE; padding-top: 16rpx; } .address-action-default, .address-action-delete { display: flex; align-items: center; gap: 8rpx; padding: 8rpx; } .action-text { font-size: 26rpx; color: #666666; } .action-text.active { color: #FF8500; } .address-footer { padding: 4rpx 32rpx 48rpx; flex-shrink: 0; } .address-add-btn { background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%); color: #FFFFFF; font-size: 30rpx; font-weight: 600; padding: 28rpx; border-radius: 20rpx; border: none; line-height: 1.5; } .address-add-btn::after { border: none; } .address-form { padding: 0 32rpx; } .form-item { display: flex; align-items: center; justify-content: space-between; min-height: 100rpx; border-bottom: 1rpx solid #F5F5F5; } .form-item-switch { justify-content: space-between; } .form-label { font-size: 30rpx; color: #1A1A1A; font-weight: 500; flex-shrink: 0; margin-right: 24rpx; } .form-input { flex: 1; text-align: right; font-size: 30rpx; color: #1A1A1A; } .form-picker { flex: 1; text-align: right; font-size: 30rpx; color: #666666; } .address-save-btn { background: linear-gradient(135deg, #FF9B33 0%, #FF8500 100%); color: #FFFFFF; font-size: 30rpx; font-weight: 600; padding: 28rpx; border-radius: 20rpx; border: none; line-height: 1.5; } .address-save-btn::after { border: none; }