/* 自定义日期选择器（与城市选择器视觉一致，不依赖原生 date 弹窗） */
.yc-date-sel {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 11px 13px; border: 1px solid #dbe5f2; border-radius: 10px;
  font-size: 14px; background: #fff; cursor: pointer; box-sizing: border-box;
  font-family: inherit; color: #2b3a4d; text-align: left;
}
.yc-date-sel:hover { border-color: var(--yz-primary); }
.yc-date-sel__tx.ph { color: #9aa7b8; }
.yc-date-sel__arr { width: 16px; height: 16px; color: #9aa7b8; flex-shrink: 0; }

.yc-dp-mask {
  position: fixed; inset: 0; background: rgba(15, 33, 58, .45);
  display: flex; align-items: center; justify-content: center; z-index: 9999;
}
.yc-dp {
  width: 320px; max-width: calc(100vw - 32px); background: #fff; border-radius: 16px;
  box-shadow: 0 20px 60px rgba(15, 33, 58, .25); overflow: hidden; font-family: inherit;
}
.yc-dp__hd { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid #eef2f7; }
.yc-dp__hd h3 { margin: 0; font-size: 16px; color: var(--yz-deep); }
.yc-dp__x { border: none; background: none; font-size: 22px; line-height: 1; color: #9aa7b8; cursor: pointer; }
.yc-dp__nav { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; }
.yc-dp__navbtn { width: 32px; height: 32px; border: 1px solid #e3ebf5; border-radius: 8px; background: #fff; font-size: 18px; cursor: pointer; color: var(--yz-deep); }
.yc-dp__navbtn:hover { border-color: var(--yz-primary); color: var(--yz-primary); }
.yc-dp__ym { font-size: 15px; font-weight: 600; color: var(--yz-deep); }
.yc-dp__week { display: grid; grid-template-columns: repeat(7, 1fr); padding: 0 18px; color: #9aa7b8; font-size: 12px; text-align: center; }
.yc-dp__week span { padding: 6px 0; }
.yc-dp__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; padding: 8px 18px 16px; }
.yc-dp__cell { height: 38px; border: none; background: none; border-radius: 9px; font-size: 14px; color: #2b3a4d; cursor: pointer; }
.yc-dp__cell:hover:not(.yc-dp__cell--empty) { background: #eef5ff; }
.yc-dp__cell.on { background: var(--yz-primary); color: #fff; }
.yc-dp__cell--empty { cursor: default; }
.yc-dp__foot { display: flex; gap: 10px; padding: 12px 18px; border-top: 1px solid #eef2f7; }
.yc-dp__today, .yc-dp__clear {
  flex: 1; padding: 9px 0; border-radius: 9px; font-size: 14px; cursor: pointer;
  border: 1px solid #e3ebf5; background: #fff; color: var(--yz-deep); font-family: inherit;
}
.yc-dp__today { background: var(--yz-primary); color: #fff; border-color: var(--yz-primary); }
.yc-dp__today:hover { opacity: .92; }
