/* Reference-matched compact date card: fluid range, floating endpoints, no action footer. */
.ydp-trigger { cursor: pointer; caret-color: transparent; }
.ydp-trigger:read-only { min-width: 118px; }
.ydp-overlay { position: fixed; inset: 0; z-index: 5000; display: grid; place-items: center; padding: 18px; background: #17202c0a; }
.ydp-overlay[hidden], .ydp-overlay [hidden] { display: none !important; }
.ydp-overlay *, .ydp-overlay *::before, .ydp-overlay *::after { box-sizing: border-box; }
.ydp-panel {
  --ydp-accent: #2b7af6; --ydp-tint: #d8e7ff; --ydp-ink: #154ca3;
  --ydp-row: 34px; --ydp-dot: 31px; --ydp-spring: cubic-bezier(.22,1.18,.4,1);
  position: relative; width: min(100%, 360px); max-height: calc(100dvh - 36px); overflow: auto;
  overscroll-behavior: contain; padding: 9px; border: 1px solid #ededed; border-radius: 25px;
  background: #f2f2f2; color: #151515; box-shadow: 0 3px 2px #00000003, 0 14px 25px -12px #00000024;
  font: 13px/1.5 Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  animation: ydp-arrive .3s cubic-bezier(.2,.85,.3,1.08);
}
.ydp-panel[data-tone="amber"] { --ydp-accent: #ff970a; --ydp-tint: #fff0c3; --ydp-ink: #805100; }
.ydp-panel[data-tone="green"] { --ydp-accent: #00b989; --ydp-tint: #cbf5e4; --ydp-ink: #086246; }
.ydp-panel[data-tone="violet"] { --ydp-accent: #8842ee; --ydp-tint: #eee2ff; --ydp-ink: #6225b0; }
.ydp-panel button { font: inherit; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.ydp-panel button:focus-visible { outline: 2px solid var(--ydp-accent); outline-offset: 2px; }
.ydp-panel button:disabled { cursor: default; }
.ydp-header { display: flex; align-items: center; gap: 10px; height: 37px; padding: 0 11px 4px; }
.ydp-title { flex: 1; margin: 0; font-size: 12px; font-weight: 600; line-height: 1; }
.ydp-badge { border-radius: 20px; padding: 2px 8px; color: var(--ydp-ink); background: var(--ydp-tint); font-size: 10px; line-height: 1.4; font-variant-numeric: tabular-nums; white-space: nowrap; transition: background .25s, color .25s; }
.ydp-badge.is-empty { color: #595959; background: #e9e9eb; }
.ydp-close { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden; opacity: 0; padding: 0 !important; }
.ydp-close:focus-visible { top: 11px; right: 10px; width: 25px !important; height: 25px !important; opacity: 1; background: white !important; z-index: 5; }
.ydp-panel.is-dual { width: min(100%, 420px); }
.ydp-surface { padding: 15px 15px 13px; border-radius: 14px; background: #fff; }
.ydp-summary { position: relative; display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #efefef; column-gap: 28px; padding-bottom: 15px; }
.ydp-summary::before { content: ""; position: absolute; left: 50%; top: 10px; width: 1px; height: 25px; background: linear-gradient(transparent,#f0f0f0,transparent); }
.ydp-summary.is-single { grid-template-columns: 1fr; }
.ydp-summary.is-single::before { display: none; }
.ydp-date-tab { text-align: left; min-width: 0; padding: 0 0 12px; border: 0; background: transparent; color: inherit; }
.ydp-active-line { position: absolute; height: 2px; width: 30px; bottom: 14px; left: 0; background: var(--ydp-accent); border-radius: 4px; transition: left .36s var(--ydp-spring), background .25s; }
.ydp-summary.is-end-active .ydp-active-line { left: calc(50% + 14px); }
.ydp-date-label { display: block; color: #6f6f73; font-size: 10px; letter-spacing: .055em; margin-bottom: 2px; }
.ydp-date-value { display: block; font-size: 14px; font-weight: 500; line-height: 1.4; font-variant-numeric: tabular-nums; }
.ydp-date-tab[aria-label*="未选择"] .ydp-date-value { color: #777; }
.ydp-month-nav { display: flex; align-items: center; gap: 1px; height: 48px; }
.ydp-month-title { flex: 1; text-align: left; padding: 0; border: 0; color: #151515; background: none; font-weight: 500 !important; font-size: 13px !important; }
.ydp-icon { display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; color: #909093; background: transparent; font-size: 18px !important; transition: background .15s, transform .2s; }
.ydp-icon:hover:not(:disabled) { background: #f0f0f0; color: #333; }
.ydp-icon:active { transform: scale(.88); }
.ydp-icon:disabled { opacity: .25; }
.ydp-weekdays, .ydp-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.ydp-weekdays { color: #737377; font-size: 9px; text-align: center; height: 25px; align-items: start; padding-top: 2px; }
.ydp-grid { position: relative; isolation: isolate; overflow: hidden; transition: max-height .42s cubic-bezier(.22,1,.36,1); }
.ydp-day, .ydp-blank { min-width: 0; height: var(--ydp-row); }
.ydp-day { position: relative; z-index: 1; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; color: #252525; background: transparent; font-size: 11px !important; font-variant-numeric: tabular-nums; transition: opacity .3s ease, visibility .3s; }
.ydp-day.is-collapsed-next { opacity: 0; visibility: hidden; pointer-events: none; }
.ydp-day.is-expand-next .ydp-day-number { background: #18b879; color: #fff; font-size: 18px; font-weight: 700; box-shadow: 0 2px 7px #18b87955; }
.ydp-day.is-expand-next:hover .ydp-day-number { transform: translateY(2px); }
.ydp-day-number { display: grid; place-items: center; width: var(--ydp-dot); height: var(--ydp-dot); border-radius: 50%; transition: color .18s, transform .24s var(--ydp-spring); }
.ydp-day.is-holiday:not(:disabled):not(.is-start):not(.is-end):not(.is-expand-next) .ydp-day-number { position: relative; background: transparent; }
.ydp-day.is-holiday:not(:disabled):not(.is-start):not(.is-end):not(.is-expand-next) .ydp-day-number::after { content: ''; position: absolute; left: 6px; right: 6px; bottom: 2px; height: 2px; border-radius: 2px; background: #f5b9cf; }
.ydp-day.is-holiday:not(:disabled):not(.is-start):not(.is-end):not(.is-expand-next).is-adjacent .ydp-day-number::after { background: #f9d7e4; }
.ydp-day:active .ydp-day-number { transform: scale(.87); }
.ydp-day.is-start .ydp-day-number, .ydp-day.is-end .ydp-day-number { color: white; }
.ydp-day[aria-current="date"]:not(.is-start):not(.is-end)::after { content: ""; position: absolute; bottom: 3px; left: calc(50% - 1px); width: 2px; height: 2px; border-radius: 50%; background: #a3a3a3; }
.ydp-day:disabled { color: #d0d0d2; }
.ydp-day.is-adjacent:not(:disabled):not(.is-start):not(.is-end) { color: #92929a; }
.ydp-day.is-month-start .ydp-day-number { font-size: 10px; font-weight: 600; }
.ydp-day:focus-visible { outline-offset: -1px !important; }
.ydp-motion-layer { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.ydp-range-band { position: absolute; height: var(--ydp-dot); border-radius: 30px; background: var(--ydp-tint); opacity: 0; transition: left .25s var(--ydp-spring), width .25s var(--ydp-spring), opacity .16s, background .28s; }
.ydp-marker { position: absolute; width: var(--ydp-dot); height: var(--ydp-dot); border-radius: 50%; transform: translate(-50%,-50%); background: var(--ydp-accent); border: 1px solid #ffffff; box-shadow: 0 2px 4px #00000008; opacity: 0; transition: left .32s var(--ydp-spring), top .32s var(--ydp-spring), opacity .15s, transform .26s var(--ydp-spring), background .28s; }
.ydp-marker.is-new { transition: none; transform: translate(-50%,-50%) scale(.72); }
.ydp-marker-hover { background: #ededee; border: 0; box-shadow: none; transition-duration: .18s; }
.ydp-shortcuts { display: flex; align-items: center; gap: 5px; padding: 10px 10px 3px; min-height: 38px; }
.ydp-chip, .ydp-clear { white-space: nowrap; min-height: 25px; border-radius: 20px; padding: 4px 10px; font-size: 10px !important; line-height: 1.2 !important; color: #414144; border: 1px solid #e8e8e8; background: #fff; transition: transform .28s var(--ydp-spring), background .25s, box-shadow .25s, color .25s; }
.ydp-chip:hover { transform: translateY(-1px); background: #fafafa; box-shadow: 0 2px 5px #00000008; }
.ydp-chip:active, .ydp-clear:active { transform: scale(.94); }
.ydp-chip.is-active { background: var(--ydp-tint); color: var(--ydp-ink); border-color: transparent; box-shadow: 0 0 0 1px #ffffff, 0 0 0 2px var(--ydp-tint); }
.ydp-clear { margin-left: auto; padding-right: 0; padding-left: 7px; background: transparent; border-color: transparent; color: #65656a; }
.ydp-clear:hover { color: #161616; }
.ydp-confirm { white-space: nowrap; min-height: 28px; padding: 4px 13px; border: 0; border-radius: 20px; background: var(--ydp-accent); color: #fff; font-size: 11px !important; line-height: 1.2 !important; font-weight: 600 !important; }
.ydp-confirm:hover { filter: brightness(.94); }
.ydp-confirm:active { transform: scale(.96); }
.ydp-months { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 8px 0; min-height: 195px; }
.ydp-month-choice { border: 0; border-radius: 14px; background: #f5f5f5; color: #5f5f65; }
.ydp-month-choice:hover, .ydp-month-choice.is-active { color: var(--ydp-ink); background: var(--ydp-tint); }
.ydp-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@keyframes ydp-arrive { from { opacity: 0; transform: translateY(7px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 480px) {
  .ydp-overlay { padding: 14px; }
  .ydp-panel { --ydp-row: 38px; --ydp-dot: 34px; max-height: calc(100dvh - 28px); }
  .ydp-panel.is-dual { --ydp-row: 34px; --ydp-dot: 30px; }
  .ydp-shortcuts { gap: 5px; padding-left: 5px; padding-right: 5px; }
  .ydp-chip, .ydp-clear { min-height: 32px; padding-left: 10px; padding-right: 10px; }
  .ydp-clear { padding-right: 3px; }
}
@media (prefers-reduced-motion: reduce) { .ydp-panel, .ydp-panel * { animation: none !important; transition: none !important; } }
