page { background: var(--bg-base); } .page { padding-top: var(--space-4); padding-bottom: calc(24rpx + env(safe-area-inset-bottom)); padding-bottom: calc(24rpx + constant(safe-area-inset-bottom)); } .title { font-size: var(--font-title-md); font-weight: 700; color: var(--text-1); } .sub { margin-top: var(--space-1); font-size: var(--font-body); color: var(--text-2); line-height: 1.6; } .card { margin-top: var(--space-3); } .step-title { font-size: var(--font-body-lg); font-weight: 700; color: var(--text-1); display: flex; align-items: center; gap: 8rpx; } .step-index { width: 40rpx; height: 40rpx; border-radius: var(--radius-pill); background: var(--brand-soft); color: var(--brand-main); font-size: var(--font-caption); display: flex; align-items: center; justify-content: center; } .date-row { margin-top: var(--space-3); display: flex; gap: var(--space-2); } .date-item { width: 136rpx; border-radius: var(--radius-md); background: #f4f4f4; border: 1px solid transparent; padding: 14rpx 0; text-align: center; } .date-item.active { background: var(--surface-2); border-color: var(--brand-main); } .d-day { font-size: var(--font-caption); color: var(--text-2); } .d-date { margin-top: 2rpx; font-size: var(--font-title-sm); font-weight: 700; color: var(--text-1); } .range { margin-top: var(--space-3); font-size: var(--font-body); color: var(--text-2); } .tip { margin-top: var(--space-1); font-size: var(--font-caption); color: var(--text-3); } .device-row { margin-top: var(--space-3); display: flex; gap: var(--space-2); } .device-item { flex: 1; border-radius: var(--radius-md); border: 1px solid var(--border-soft); padding: 12rpx; background: #fff; } .device-item.active { border-color: var(--brand-main); background: var(--surface-2); } .d-name { font-size: var(--font-body); font-weight: 700; color: var(--text-1); } .d-desc { margin-top: 4rpx; font-size: var(--font-caption); color: var(--text-2); line-height: 1.5; } .input { margin-top: var(--space-3); height: 88rpx; border-radius: var(--radius-md); background: #fafafa; border: 1px solid #ececec; padding: 0 16rpx; font-size: var(--font-body); } .error-text { margin-top: 8rpx; color: var(--state-danger); font-size: var(--font-caption); } .fee-card { margin-top: var(--space-3); min-height: 88rpx; border-radius: var(--radius-md); background: var(--surface-2); padding: 0 var(--space-4); display: flex; align-items: center; justify-content: space-between; } .fee-label { color: var(--text-2); font-size: var(--font-body); } .fee { font-size: var(--font-title-md); font-weight: 700; color: var(--brand-main); } .cta { margin-top: var(--space-3); min-height: 88rpx; }