@import '../../../styles/variables.scss'; .create-page { min-height: 100vh; background: $bg; padding-bottom: 140px; } /* 步骤内容 */ .step-content { padding: 32px 24px; } /* 科室宫格 */ .dept-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .dept-card { background: $card; border-radius: $r; padding: 24px 12px; display: flex; flex-direction: column; align-items: center; gap: 8px; border: 2px solid transparent; transition: border-color 0.2s; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); } .dept-card.dept-selected { border-color: $pri; background: $pri-surface; } .dept-icon { font-size: 40px; } .dept-label { font-size: 26px; color: $tx; } /* 时段卡片 */ .slot-section { margin-top: 24px; } .slot-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; } .slot-card { background: $card; border-radius: $r-sm; padding: 16px 20px; border: 2px solid transparent; transition: all 0.2s; &.slot-few { border-color: $wrn; } &.slot-full { opacity: 0.5; background: $bd-l; } &.slot-selected { border-color: $pri; background: $pri-surface; } } .slot-time { font-size: 28px; font-weight: bold; color: $tx; display: block; } .slot-count { font-size: 22px; color: $tx3; display: block; margin-top: 4px; } .slot-few .slot-count { color: $wrn; } .slot-full .slot-count { color: $dan; } .step-title { font-size: 32px; font-weight: bold; color: $tx; margin-bottom: 28px; display: block; } /* 选择器卡片 */ .picker-card { background: $card; border-radius: $r; padding: 24px 28px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); } .picker-value { font-size: 28px; color: $tx; } .picker-value.placeholder { color: $tx3; } .picker-arrow { font-size: 24px; color: $tx3; } /* 医生列表 */ .doctor-list { display: flex; flex-direction: column; gap: 16px; } .doctor-card { background: $card; border-radius: $r; padding: 24px 28px; display: flex; align-items: center; gap: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); border: 2px solid transparent; transition: border-color 0.2s; } .doctor-card.doctor-selected { border-color: $pri; background: $pri-surface; } .doctor-avatar { width: 80px; height: 80px; border-radius: 50%; background: $pri-l; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .doctor-avatar-text { font-size: 32px; color: $pri; font-weight: bold; } .doctor-detail { flex: 1; display: flex; flex-direction: column; gap: 4px; } .doctor-name { font-size: 30px; font-weight: bold; color: $tx; } .doctor-title { font-size: 24px; color: $tx2; } .doctor-specialty { font-size: 22px; color: $pri; } .doctor-check { font-size: 32px; color: $pri; font-weight: bold; } /* 表单 */ .form-group { margin-bottom: 28px; } .form-label { font-size: 26px; color: $tx2; margin-bottom: 12px; display: block; } .form-static { background: $card; border-radius: $r-sm; padding: 24px 28px; } .form-static-text { font-size: 28px; color: $tx; } .form-input { background: $card; border-radius: $r-sm; padding: 24px 28px; font-size: 28px; color: $tx; width: 100%; box-sizing: border-box; } /* 空状态 */ .empty-state { padding: 80px 0; text-align: center; } .empty-text { font-size: 28px; color: $tx3; } /* 底部操作栏 */ .bottom-bar { position: fixed; bottom: 0; left: 0; right: 0; display: flex; gap: 16px; padding: 20px 24px; padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); background: $card; box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06); } .btn { flex: 1; padding: 24px 0; border-radius: $r-sm; text-align: center; transition: opacity 0.2s; } .btn-prev { background: $bd-l; } .btn-next, .btn-submit { background: linear-gradient(135deg, $pri 0%, $pri-d 100%); } .btn-disabled { opacity: 0.5; } .btn-text { font-size: 30px; font-weight: bold; color: $tx2; } .btn-text-white { color: white; }