/* pages/period/period.wxss - 姨姨(美柚风格日历模式) */ @import '../../styles/common.wxss'; page { background: linear-gradient(180deg, #FDE4EC 0%, #FFF0F5 48%, #FFF7FA 100%); height: 100vh; overflow: hidden; } .container { padding-top: 16rpx; padding-left: 20rpx; padding-right: 20rpx; } scroll-view.page-bg { height: 100vh; overflow-y: scroll; -webkit-overflow-scrolling: touch; } .access-panel { margin: 216rpx 24rpx 0; padding: 36rpx; border-radius: 24rpx; background: #fff; display: flex; flex-direction: column; gap: 24rpx; } .access-panel-title { font-size: 34rpx; font-weight: 700; color: #333; } .access-panel-desc { font-size: 26rpx; color: #777; line-height: 1.6; } .access-panel-action { text-align: center; padding: 20rpx; border-radius: 40rpx; background: #B74768; color: #fff; font-size: 28rpx; } /* ========== 顶部状态卡片 ========== */ .period-status-card { background: white; border-radius: 24rpx; padding: 28rpx 20rpx 20rpx; margin-bottom: 20rpx; box-shadow: 0 2rpx 16rpx rgba(0,0,0,0.06); } .status-row { display: flex; align-items: center; justify-content: space-around; } .status-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4rpx; } .status-num { font-size: 40rpx; font-weight: 800; color: #B74768; line-height: 1.2; } .status-label { font-size: 20rpx; color: #999; } .status-divider { width: 2rpx; height: 50rpx; background: #FFE8EE; } .status-badge { display: flex; align-items: center; justify-content: center; gap: 8rpx; margin-top: 16rpx; padding: 10rpx 20rpx; border-radius: 40rpx; background: #FFF0F3; } .badge-dot { width: 14rpx; height: 14rpx; border-radius: 50%; background: #B74768; } .badge-text { font-size: 24rpx; color: #B74768; font-weight: 500; } .status-badge.safe .badge-dot { background: #81C784; } .status-badge.safe .badge-text { color: #81C784; } .status-badge.safe { background: #F0FFF0; } .status-badge.period .badge-dot { background: #FF5252; } .status-badge.period .badge-text { color: #FF5252; } .status-badge.period { background: #FFF0F0; } .status-badge.ovulation .badge-dot { background: #FFD54F; } .status-badge.ovulation .badge-text { color: #E6A800; } .status-badge.ovulation { background: #FFFDE7; } /* ===== 日历卡片容器 ===== */ .calendar-card { background: white; border-radius: 24rpx; padding: 0 16rpx 12rpx; margin-bottom: 20rpx; box-shadow: 0 2rpx 16rpx rgba(0,0,0,0.06); } /* ========== 日历导航 ========== */ .calendar-nav { display: flex; align-items: center; justify-content: space-between; padding: 16rpx 8rpx 12rpx; } .nav-btn { font-size: 28rpx; color: #B74768; font-weight: 400; padding: 8rpx 20rpx; line-height: 1; } .nav-title { font-size: 34rpx; font-weight: 600; color: #C96A85; } /* ========== 星期头 ========== */ .calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); padding: 8rpx 0; text-align: center; } .weekday { font-size: 22rpx; color: #999; font-weight: 500; padding: 8rpx 0; } .weekday.weekend { color: #FF8A80; } /* ========== 日历格子 ========== */ .calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4rpx; background: white; border-radius: 24rpx; padding: 12rpx 8rpx; margin-bottom: 20rpx; box-shadow: 0 2rpx 16rpx rgba(0,0,0,0.06); } .calendar-cell { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 90rpx; position: relative; border-radius: 16rpx; } .cell-day { font-size: 26rpx; color: #333; font-weight: 500; line-height: 1.2; } /* 爱爱图标(日期数字上方) */ .sex-icon-top { position: relative; height: 24rpx; display: flex; align-items: center; justify-content: center; margin-bottom: 2rpx; } .sex-icon-top-text { font-size: 18rpx; line-height: 1; } .sex-icon-top-count { position: absolute; top: -10rpx; right: -18rpx; font-size: 14rpx; color: #E040FB; font-weight: 700; background: white; border-radius: 50%; min-width: 22rpx; height: 22rpx; display: flex; align-items: center; justify-content: center; border: 2rpx solid #E040FB; line-height: 1; padding: 0 2rpx; } /* 其他月 */ .calendar-cell.other-month .cell-day { color: #ddd; } /* 未来日期(不可点击) */ .calendar-cell.future .cell-day { color: #eee; } .calendar-cell.future { opacity: 0.4; } /* 周期阶段背景色 */ .calendar-cell.phase-period { background: #FFF0F0; } .calendar-cell.phase-period .cell-day { color: #FF5252; font-weight: 700; } /* 预测经期(只预测下一次) */ .calendar-cell.phase-predicted { background: #FFF5F5; } .calendar-cell.phase-predicted .cell-day { color: #FF8A80; font-weight: 600; } /* 排卵日(突出显示,紫色系区别于排卵期) */ .calendar-cell.phase-ovulation-day { background: #F3E5F5; } .calendar-cell.phase-ovulation-day .cell-day { color: #7B1FA2; font-weight: 800; font-size: 30rpx; } /* 排卵期 */ .calendar-cell.phase-ovulation { background: #FFF8E1; } .calendar-cell.phase-ovulation .cell-day { color: #F57F17; font-weight: 600; } /* 安全期 */ .calendar-cell.phase-safe { background: #F0FFF0; } .calendar-cell.phase-safe .cell-day { color: #388E3C; font-weight: 500; } /* 今天高亮(覆盖阶段背景) */ .calendar-cell.today { background: #FFF0F3 !important; } .calendar-cell.today .cell-day { color: #B74768 !important; font-weight: 700 !important; } /* 选中(覆盖阶段背景) */ .calendar-cell.selected { background: #B74768 !important; } .calendar-cell.selected .cell-day { color: white !important; font-weight: 700 !important; } /* 经期选中时文字白色 */ .calendar-cell.period-day.selected .cell-day { color: white !important; } /* 小圆点指示器容器(水平排列) */ .cell-dots-row { display: flex; align-items: center; justify-content: center; gap: 3rpx; height: 16rpx; margin-top: 2rpx; } .cell-dot { width: 8rpx; height: 8rpx; border-radius: 50%; flex-shrink: 0; } .cell-dot.period-dot { width: 16rpx; border-radius: 8rpx; } .cell-dot.period-dot.level-1 { background: #FFCDD2; } .cell-dot.period-dot.level-2 { background: #FF8A80; } .cell-dot.period-dot.level-3 { background: #FF5252; } .cell-dot.record-dot { background: #FFD54F; } /* ========== 选中日期详情面板 ========== */ .day-detail-panel { background: white; border-radius: 24rpx; padding: 24rpx 20rpx; margin-bottom: 20rpx; box-shadow: 0 2rpx 16rpx rgba(0,0,0,0.06); } .detail-header { display: flex; align-items: center; gap: 12rpx; margin-bottom: 20rpx; padding-bottom: 16rpx; border-bottom: 2rpx solid #FFF0F3; } .detail-date { font-size: 32rpx; font-weight: 700; color: #333; } .detail-weekday { font-size: 24rpx; color: #999; } /* ===== 日历图例(日历卡片内最下方) ===== */ .calendar-legend { display: flex; align-items: center; justify-content: center; gap: 16rpx; flex-wrap: wrap; padding: 10rpx 0 4rpx; border-top: 2rpx solid #FFF0F3; margin-top: 4rpx; } .legend-item { display: flex; align-items: center; gap: 6rpx; font-size: 20rpx; color: #999; } .legend-dot { width: 16rpx; height: 16rpx; border-radius: 4rpx; } .legend-dot.legend-period { background: #FFF0F0; border: 2rpx solid #FFCDD2; } .legend-dot.legend-predicted { background: #FFF5F5; border: 2rpx solid #FFCDD2; } .legend-dot.legend-ovulation-day { background: #F3E5F5; border: 2rpx solid #CE93D8; } .legend-dot.legend-ovulation { background: #FFF8E1; border: 2rpx solid #FFE082; } .legend-dot.legend-safe { background: #F0FFF0; border: 2rpx solid #A5D6A7; } /* ===== 快捷记录卡片(数据统计卡下方,日历上方) ===== */ .quick-events-card { background: white; border-radius: 20rpx; padding: 20rpx 16rpx; margin-bottom: 16rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06); } .quick-events-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12rpx; } /* ===== 快捷事件按钮行(旧,保留兼容) ===== */ .quick-events { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12rpx; margin-bottom: 16rpx; } .quick-event-btn { display: flex; flex-direction: column; align-items: center; gap: 6rpx; padding: 16rpx 8rpx; border-radius: 20rpx; background: #FFF5F8; border: 2rpx solid #FFE8EE; position: relative; transition: all 0.2s; } .quick-event-btn:active { transform: scale(0.92); } .qe-icon { font-size: 32rpx; line-height: 1; } .qe-label { font-size: 20rpx; color: #888; font-weight: 500; } .qe-check { position: absolute; top: 4rpx; right: 6rpx; font-size: 16rpx; color: white; background: #B74768; width: 24rpx; height: 24rpx; border-radius: 50%; display: flex; align-items: center; justify-content: center; line-height: 1; } .quick-event-btn.active { background: #FFF0F3; border-color: #FFB4C8; } .quick-event-btn.active .qe-label { color: #B74768; font-weight: 600; } .quick-event-btn.active.period { background: #FFF0F0; border-color: #FF8A80; } .quick-event-btn.active.period .qe-label { color: #FF5252; } .quick-event-btn.active.sex { background: #F3E5F5; border-color: #CE93D8; } .quick-event-btn.active.sex .qe-label { color: #9C27B0; } /* ===== 详情标签 ===== */ .detail-content { display: flex; flex-wrap: wrap; gap: 10rpx; } .detail-tag { font-size: 22rpx; padding: 8rpx 18rpx; border-radius: 20rpx; font-weight: 500; display: flex; align-items: center; gap: 8rpx; } .detail-del-btn { width: 28rpx; height: 28rpx; border-radius: 50%; background: rgba(0,0,0,0.12); display: flex; align-items: center; justify-content: center; font-size: 16rpx; color: #fff; font-weight: 700; line-height: 1; flex-shrink: 0; } .detail-tag.period-tag { background: #FFF0F0; color: #FF5252; } .detail-tag.sex-tag { background: #F3E5F5; color: #9C27B0; } .detail-tag.symptom-tag { background: #FFF3E0; color: #E65100; } .detail-tag.mood-tag { background: #FFF8E1; color: #F57F17; } .detail-tag.discharge-tag { background: #E3F2FD; color: #1565C0; } .detail-tag.temp-tag { background: #E8F5E9; color: #2E7D32; } .detail-tag.weight-tag { background: #FCE4EC; color: #C62828; } .detail-note { width: 100%; font-size: 24rpx; color: #666; padding: 12rpx 16rpx; background: #FAFAFA; border-radius: 16rpx; margin-top: 4rpx; } .detail-empty { text-align: center; padding: 20rpx 0; } .empty-hint { font-size: 24rpx; color: #bbb; } /* ========== 标题 ========== */ .section-title { font-size: 26rpx; font-weight: 600; color: #999; margin-bottom: 12rpx; padding-left: 8rpx; } .section-hint { font-size: 22rpx; font-weight: 400; color: #c0c0c0; margin-left: 12rpx; } /* ========== 历史周期列表 ========== */ .cycle-list { display: flex; flex-direction: column; gap: 12rpx; padding-bottom: 20rpx; } .cycle-card { background: white; border-radius: 20rpx; padding: 20rpx 24rpx; box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.04); border-left: 6rpx solid #FFD4E0; } .cycle-header { display: flex; align-items: center; gap: 10rpx; margin-bottom: 10rpx; } .cycle-icon { font-size: 28rpx; } .cycle-date { font-size: 26rpx; font-weight: 700; color: #333; } .cycle-details { display: flex; gap: 16rpx; flex-wrap: wrap; } .cycle-detail { font-size: 22rpx; color: #888; background: #FFF5F8; padding: 4rpx 14rpx; border-radius: 20rpx; } .cycle-note { font-size: 22rpx; color: #999; margin-top: 8rpx; padding: 6rpx 12rpx; background: #FAFAFA; border-radius: 12rpx; } /* ========== 空状态 ========== */ .empty-state { text-align: center; padding: 80rpx 40rpx; color: #999; } .empty-icon { font-size: 64rpx; display: block; margin-bottom: 12rpx; } .empty-title { font-size: 28rpx; display: block; margin-bottom: 6rpx; } .empty-desc { font-size: 22rpx; color: #bbb; display: block; } /* ========== 周期统计卡内设置按钮 ========== */ .status-settings-btn { display: flex; align-items: center; justify-content: center; gap: 8rpx; padding: 12rpx 0 0; margin-top: 12rpx; border-top: 2rpx solid #FFF0F3; } .settings-btn-icon { font-size: 24rpx; } .settings-btn-text { font-size: 24rpx; color: #B74768; font-weight: 600; } .status-settings-btn:active { opacity: 0.6; } /* ========== 弹窗表单 ========== */ .period-modal .modal-form { margin-top: 8rpx; } .form-row { display: flex; align-items: center; justify-content: space-between; padding: 18rpx 0; border-bottom: 2rpx solid #FFF0F3; } .form-row:last-of-type { border-bottom: none; } .form-label { font-size: 26rpx; color: #666; flex-shrink: 0; width: 140rpx; } .form-picker { font-size: 26rpx; color: #B74768; font-weight: 500; padding: 8rpx 20rpx; background: #FFF5F8; border-radius: 16rpx; } .form-stepper { display: flex; align-items: center; gap: 16rpx; } .stepper-btn { width: 48rpx; height: 48rpx; border-radius: 50%; background: #FFE8EE; color: #B74768; font-size: 32rpx; font-weight: 700; display: flex; align-items: center; justify-content: center; line-height: 1; } .stepper-value { font-size: 28rpx; font-weight: 600; color: #333; min-width: 60rpx; text-align: center; } .modal-actions { display: flex; flex-direction: row; gap: 16rpx; margin-top: 28rpx; } .modal-actions .btn { flex: 1; text-align: center; } .modal-actions .btn-secondary { background: #FFF5F8; color: #B74768; border: 2rpx solid #FFB4C8; } /* ========== 姨姨设置推算结果 ========== */ .prediction-box { margin-top: 20rpx; padding: 20rpx 24rpx; background: linear-gradient(135deg, #FFF5F8, #F3E5F5); border-radius: 20rpx; border: 2rpx solid #FFD4E0; } .prediction-title { font-size: 26rpx; font-weight: 700; color: #B74768; display: block; margin-bottom: 16rpx; } .prediction-row { display: flex; align-items: center; justify-content: space-between; padding: 10rpx 0; } .prediction-row + .prediction-row { border-top: 1rpx dashed #FFD4E0; } .prediction-label { font-size: 24rpx; color: #666; font-weight: 500; } .prediction-value { font-size: 24rpx; color: #B74768; font-weight: 700; } .prediction-value.ovulation { color: #7B1FA2; font-size: 26rpx; } .prediction-value.ovulation-range { color: #F57F17; font-size: 24rpx; } /* 推算公式展开/收起 */ .formula-toggle { display: flex; align-items: center; justify-content: center; gap: 6rpx; margin-top: 16rpx; padding: 10rpx 0; border-top: 1rpx dashed #FFD4E0; } .formula-toggle-text { font-size: 22rpx; color: #999; } .formula-toggle-arrow { font-size: 18rpx; color: #bbb; } .formula-detail { margin-top: 12rpx; padding: 16rpx; background: rgba(255,255,255,0.7); border-radius: 12rpx; } .formula-item { display: flex; flex-direction: column; gap: 2rpx; padding: 8rpx 0; } .formula-item + .formula-item { border-top: 1rpx solid rgba(255,212,224,0.4); } .formula-label { font-size: 22rpx; font-weight: 600; color: #666; } .formula-text { font-size: 22rpx; color: #999; padding-left: 8rpx; } /* 免责声明 */ .disclaimer-box { display: flex; gap: 8rpx; margin-top: 16rpx; padding: 14rpx 16rpx; background: #FFF9E6; border-radius: 12rpx; border-left: 4rpx solid #FFB300; } .disclaimer-icon { font-size: 20rpx; flex-shrink: 0; line-height: 1.6; } .disclaimer-text { font-size: 20rpx; color: #8D6E00; line-height: 1.7; } .disclaimer-bold { font-weight: 700; color: #E65100; } /* ========== 经期/白带详情弹窗 ========== */ .period-section { margin: 16rpx 0; } .period-section-label { font-size: 24rpx; font-weight: 600; color: #666; display: block; margin-bottom: 10rpx; } .period-chip-group { display: flex; flex-wrap: wrap; gap: 10rpx; } .period-chip { display: flex; align-items: center; gap: 6rpx; font-size: 24rpx; color: #888; padding: 10rpx 20rpx; border-radius: 30rpx; background: #F5F5F5; border: 2rpx solid transparent; } .period-chip.active { color: #B74768; background: #FFF0F3; border-color: #FFB4C8; font-weight: 600; } .color-dot { width: 20rpx; height: 20rpx; border-radius: 50%; flex-shrink: 0; } /* ========== 症状选择网格 ========== */ .symptom-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12rpx; margin: 16rpx 0; } .symptom-tag-lg { text-align: center; font-size: 24rpx; color: #888; padding: 16rpx 12rpx; border-radius: 20rpx; background: #F5F5F5; border: 2rpx solid transparent; } .symptom-tag-lg.active { color: #B74768; background: #FFF0F3; border-color: #FFB4C8; font-weight: 600; } /* ========== 心情选择网格 ========== */ .mood-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12rpx; margin: 16rpx 0; } .mood-item { display: flex; flex-direction: column; align-items: center; gap: 6rpx; padding: 16rpx 8rpx; border-radius: 20rpx; background: #F5F5F5; border: 2rpx solid transparent; } .mood-item.active { background: #FFF8E1; border-color: #FFD54F; } .mood-emoji { font-size: 40rpx; } .mood-label { font-size: 22rpx; color: #888; } .mood-item.active .mood-label { color: #F57F17; font-weight: 600; } /* ========== 白带选择网格 ========== */ .discharge-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12rpx; margin: 16rpx 0; } .discharge-item { text-align: center; font-size: 24rpx; color: #888; padding: 20rpx 16rpx; border-radius: 20rpx; background: #F5F5F5; border: 2rpx solid transparent; } .discharge-item.active { color: #1565C0; background: #E3F2FD; border-color: #90CAF9; font-weight: 600; } /* ========== 体温/体重输入 ========== */ .temp-input-row { display: flex; align-items: center; justify-content: center; gap: 12rpx; margin: 24rpx 0; } .temp-input { font-size: 48rpx; font-weight: 700; color: #B74768; text-align: center; width: 200rpx; padding: 16rpx; border: none; border-bottom: 4rpx solid #FFB4C8; background: transparent; } .temp-unit { font-size: 32rpx; color: #999; font-weight: 500; } /* ========== 备注输入框 ========== */ .note-textarea { width: 100%; min-height: 160rpx; padding: 20rpx; border: 2rpx solid #FFE8EE; border-radius: 20rpx; font-size: 26rpx; color: #333; background: #FFFBF5; margin: 16rpx 0; box-sizing: border-box; } /* ========== 爱爱记录弹窗 ========== */ .sex-modal .modal-subtitle { font-size: 24rpx; color: #999; text-align: center; margin-top: -8rpx; margin-bottom: 16rpx; display: block; } /* 爱爱记录列表 */ .sex-record-list { max-height: 300rpx; overflow-y: auto; margin-bottom: 16rpx; border-bottom: 2rpx solid #F3E5F5; padding-bottom: 12rpx; } /* 列表为空时仍保留占位,避免布局跳动 */ .sex-record-list:empty { display: none; } .sex-record-item { display: flex; align-items: center; justify-content: space-between; padding: 12rpx 16rpx; background: #F3E5F5; border-radius: 16rpx; margin-bottom: 8rpx; } .sex-record-info { display: flex; align-items: center; gap: 8rpx; flex: 1; min-width: 0; } .sex-time { font-size: 24rpx; font-weight: 700; color: #9C27B0; background: white; padding: 4rpx 12rpx; border-radius: 12rpx; flex-shrink: 0; } .sex-record-time { font-size: 20rpx; color: #9C27B0; font-weight: 500; background: rgba(255,255,255,0.6); padding: 2rpx 10rpx; border-radius: 10rpx; margin-left: 4rpx; flex-shrink: 0; } .sex-measure { font-size: 24rpx; color: #666; } .sex-record-del { width: 40rpx; height: 40rpx; border-radius: 50%; background: #FFCDD2; display: flex; align-items: center; justify-content: center; } .sex-del-icon { font-size: 20rpx; color: #E53935; font-weight: 700; } /* 添加记录区域 */ .sex-add-section { margin-top: 8rpx; } .sex-add-title { font-size: 26rpx; font-weight: 600; color: #9C27B0; margin-bottom: 12rpx; display: block; } .sex-form-row { display: flex; align-items: center; justify-content: space-between; padding: 12rpx 0; } .sex-form-label { font-size: 24rpx; color: #666; flex-shrink: 0; } .sex-form-picker { font-size: 26rpx; color: #9C27B0; font-weight: 600; padding: 8rpx 20rpx; background: #F3E5F5; border-radius: 16rpx; } /* 措施选择网格 */ .sex-measure-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10rpx; margin: 12rpx 0; } .sex-measure-item { display: flex; flex-direction: column; align-items: center; gap: 4rpx; padding: 14rpx 8rpx; border-radius: 16rpx; background: #F5F5F5; border: 2rpx solid transparent; } .sex-measure-item.active { background: #F3E5F5; border-color: #CE93D8; } .sex-measure-icon { font-size: 28rpx; } .sex-measure-label { font-size: 20rpx; color: #888; text-align: center; } .sex-measure-item.active .sex-measure-label { color: #9C27B0; font-weight: 600; } /* 爱爱备注输入 */ .sex-form-input { font-size: 24rpx; color: #666; padding: 8rpx 16rpx; background: #F5F5F5; border-radius: 12rpx; width: 320rpx; text-align: right; } /* 爱爱记录备注 */ .sex-remark { font-size: 20rpx; color: #999; background: rgba(255,255,255,0.7); padding: 2rpx 8rpx; border-radius: 8rpx; max-width: 120rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* 爱爱计数徽章(快捷按钮上) */ .sex-count-badge { position: absolute; top: -4rpx; right: -4rpx; font-size: 18rpx; color: white; background: #E040FB; min-width: 30rpx; height: 30rpx; border-radius: 15rpx; display: flex; align-items: center; justify-content: center; font-weight: 700; line-height: 1; padding: 0 6rpx; box-shadow: 0 2rpx 6rpx rgba(224,64,251,0.4); } /* ========== 权限开关 ========== */ .permission-row { display: flex; align-items: center; justify-content: space-between; padding: 16rpx 0; } .permission-info { display: flex; flex-direction: column; gap: 4rpx; flex: 1; } .permission-title { font-size: 26rpx; font-weight: 600; color: #333; } .permission-desc { font-size: 20rpx; color: #999; } .permission-switch { flex-shrink: 0; } @import '../../styles/design.wxss'; @import '../../styles/journal.wxss'; /* Journal calendar: semantic phase colors and handlers are preserved. */ .j-body .calendar-card { background:#FFFDF8; border:1rpx solid #E9DDD0; border-radius:42rpx; padding:24rpx 20rpx; box-shadow:0 12rpx 30rpx rgba(114,82,64,.05); } .j-body .calendar-grid { background:transparent; border-radius:0; box-shadow:none; padding:0; gap:6rpx 2rpx; } .j-body .calendar-cell { height:78rpx; border-radius:18rpx; } .j-body .calendar-nav { padding:0 0 22rpx; } .j-body .nav-btn { display:flex; align-items:center; justify-content:center; min-width:80rpx; min-height:80rpx; font-size:40rpx; color:#85776D; padding:0; } .j-body .nav-title { color:#352E2A; font-size:29rpx; } .j-body .weekday { color:#85776D; font-size:22rpx; } .j-body .calendar-cell.phase-period { background:#F4E2E3; }.j-body .calendar-cell.phase-period .cell-day { color:#B74768; } .j-body .calendar-cell.phase-predicted { background:#F8EEEB; }.j-body .calendar-cell.phase-predicted .cell-day { color:#956571; } .j-body .calendar-cell.future { opacity:.72; }.j-body .calendar-cell.future .cell-day { color:#85776D; } .j-body .calendar-legend { border-top:0; padding-top:18rpx; margin:0; gap:12rpx 18rpx; flex-wrap:wrap; } .j-body .legend-item { font-size:22rpx; color:#85776D; }.j-body .legend-period { background:#F4E2E3; }.j-body .legend-predicted { background:#F8EEEB; } .j-body .quick-events-card { margin-top:34rpx; padding:0; background:transparent; border:0; box-shadow:none; } .j-body .quick-events-grid { gap:12rpx; }.j-body .quick-event-btn { background:#FFFDF8; border:1rpx solid #E9DDD0; border-radius:20rpx; padding:24rpx 4rpx; min-height:120rpx; gap:12rpx; } .j-body .quick-event-btn .qe-icon { width:34rpx; height:34rpx; }.j-body .qe-label { color:#85776D; font-size:23rpx; } .j-body .quick-event-btn.active { background:#F4E2E3; border-color:#D5A6AE; }.j-body .quick-event-btn.active .qe-label { color:#B74768; } .j-body .cycle-card { background:#FFFDF8; border:1rpx solid #E9DDD0; border-radius:20rpx; box-shadow:none; }.j-body .cycle-date { font-size:26rpx; }.j-body .cycle-detail { color:#85776D; } @import '../../styles/button-theme.wxss'; @import '../../styles/typography.wxss';