.new-page { background: #f5f5f5; min-height: 100vh; padding-bottom: 80px; } .step-indicator { background: white; padding: 20px 16px; border-bottom: 1px solid #f0f0f0; } .step-list { display: flex; justify-content: space-between; align-items: center; position: relative; &::before { content: ''; position: absolute; top: 20px; left: 20px; right: 20px; height: 2px; background: #e5e5e5; z-index: 1; } } .step-item { display: flex; flex-direction: column; align-items: center; gap: 8px; position: relative; z-index: 2; &.active { .step-number { background: #1890ff; color: white; border-color: #1890ff; } .step-label { color: #1890ff; font-weight: 600; } } } .step-number { width: 40px; height: 40px; border-radius: 50%; background: white; border: 2px solid #e5e5e5; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 600; color: #999; transition: all 0.3s; } .step-label { font-size: 12px; color: #666; text-align: center; transition: all 0.3s; } .step-content { padding: 16px; } .form-card { background: white; border-radius: 8px; padding: 20px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } .form-item { margin-bottom: 20px; &:last-child { margin-bottom: 0; } } .form-label { display: block; font-size: 14px; font-weight: 600; color: #333; margin-bottom: 8px; } .form-input { width: 100%; height: 40px; border: 1px solid #d9d9d9; border-radius: 6px; padding: 0 12px; font-size: 14px; &:focus { border-color: #1890ff; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); outline: none; } } .stepper-wrapper { display: flex; align-items: center; gap: 12px; } .stepper-btn { width: 32px; height: 32px; padding: 0; border-radius: 6px; display: flex; align-items: center; justify-content: center; border: 1px solid #d9d9d9; background: white; &:hover { border-color: #1890ff; color: #1890ff; } } .stepper-value { font-size: 14px; font-weight: 600; color: #333; min-width: 60px; text-align: center; } .time-range { display: flex; align-items: center; gap: 12px; } .time-input { flex: 1; height: 40px; border: 1px solid #d9d9d9; border-radius: 6px; padding: 0 12px; font-size: 14px; &:focus { border-color: #1890ff; box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); outline: none; } } .time-separator { font-size: 14px; color: #666; font-weight: 500; } .content-types { display: flex; flex-wrap: wrap; gap: 8px; } .content-type-tag { cursor: pointer; transition: all 0.2s; &:hover { transform: translateY(-1px); } } .form-switch { margin-left: auto; } .placeholder-content { text-align: center; padding: 40px 20px; color: #666; } .placeholder-icon { font-size: 48px; color: #d9d9d9; margin-bottom: 16px; } .placeholder-text { font-size: 16px; margin-bottom: 8px; color: #333; } .placeholder-subtext { font-size: 14px; color: #999; } .step-actions { position: fixed; bottom: 0; left: 0; right: 0; background: white; padding: 16px; border-top: 1px solid #f0f0f0; display: flex; gap: 12px; z-index: 10; } .prev-btn { flex: 1; height: 44px; border-radius: 8px; font-size: 16px; font-weight: 500; } .next-btn, .complete-btn { flex: 1; height: 44px; border-radius: 8px; font-size: 16px; font-weight: 500; } .loading { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 60vh; gap: 16px; } .loading-text { color: #666; font-size: 14px; } // 移动端适配 @media (max-width: 768px) { .step-list { &::before { left: 15px; right: 15px; } } .step-number { width: 36px; height: 36px; font-size: 14px; } .step-label { font-size: 11px; } .form-card { padding: 16px; } .stepper-wrapper { gap: 8px; } .stepper-btn { width: 28px; height: 28px; } .time-range { flex-direction: column; gap: 8px; } .content-types { gap: 6px; } }