/* Kole UI Mobile · DatePicker 样式 — 对齐移动端规格 §18 日期选择器:底部浮层 + 三列滚动;选项行高 ≥44px;选中项品牌色高亮。 日期值的真源是 aria-selected 与文本(不依赖视觉滚动位置)。 */ .kole-m-datepicker__mask { position: fixed; inset: 0; z-index: 2000; background: var(--kole-color-mask); opacity: 0; pointer-events: none; transition: opacity var(--kole-m-duration-slide) var(--kole-m-ease-slide); } .kole-m-datepicker__mask.is-open { opacity: 1; pointer-events: auto; } .kole-m-datepicker { position: fixed; left: 0; right: 0; bottom: 0; z-index: 2001; box-sizing: border-box; display: flex; flex-direction: column; padding-bottom: var(--kole-m-safe-bottom); background: var(--kole-color-card-bg); font-family: var(--kole-font-family); transform: translateY(100%); transition: transform var(--kole-m-duration-slide) var(--kole-m-ease-slide); } .kole-m-datepicker.is-open { transform: translateY(0); } /* 变体 round=true:靠内容一侧切圆角 */ .kole-m-datepicker--round { border-start-start-radius: var(--kole-radius-large); border-start-end-radius: var(--kole-radius-large); } .kole-m-datepicker__header { display: flex; align-items: center; justify-content: space-between; gap: var(--kole-space-8); padding: var(--kole-space-8) var(--kole-m-gutter); border-bottom: 1px solid var(--kole-color-border); font-size: var(--kole-m-font-size-body); font-weight: 500; } .kole-m-datepicker__title { color: var(--kole-color-text-title); font-weight: 500; } .kole-m-datepicker__btn { box-sizing: border-box; min-height: var(--kole-m-touch-target); padding: 0 var(--kole-space-8); border: 0; border-radius: var(--kole-radius-base); background: none; color: var(--kole-color-brand); font-family: inherit; font-size: var(--kole-m-font-size-label); line-height: 1; cursor: pointer; touch-action: manipulation; } .kole-m-datepicker__btn:focus-visible { outline: 2px solid var(--kole-color-focus-ring); outline-offset: 2px; } .kole-m-datepicker__btn:active { background: var(--kole-color-brand-bg); } .kole-m-datepicker__btn--confirm { font-weight: 500; } .kole-m-datepicker__columns { display: flex; align-items: stretch; gap: 1px; padding: 0 0 var(--kole-space-8); background: var(--kole-color-card-bg); } .kole-m-datepicker__column { flex: 1 1 0; min-width: 0; max-height: 200px; margin: 0; padding: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; list-style: none; } .kole-m-datepicker__option { box-sizing: border-box; display: flex; align-items: center; justify-content: center; min-height: var(--kole-m-touch-target); padding: 0 var(--kole-space-4); color: var(--kole-color-text-body); font-size: var(--kole-m-font-size-label); line-height: 1.3; text-align: center; } /* 状态 selected:当前选中项(品牌色高亮) */ .kole-m-datepicker__option.is-selected { color: var(--kole-color-brand); font-weight: 500; } .kole-m-datepicker__option[aria-selected="true"] { color: var(--kole-color-brand); font-weight: 500; } /* 演示页触发器(非组件交付样式) */ .kole-m-datepicker__trigger { min-height: var(--kole-m-touch-target); padding: 0 var(--kole-m-gutter); border: 1px solid var(--kole-color-border); border-radius: var(--kole-radius-base); background: var(--kole-color-card-bg); color: var(--kole-color-text-body); font-family: inherit; font-size: var(--kole-m-font-size-label); cursor: pointer; touch-action: manipulation; } .kole-m-datepicker__trigger:focus-visible { outline: 2px solid var(--kole-color-focus-ring); outline-offset: 2px; }