.dd-date{position:relative;display:block;min-width:0}
.dd-date .dd-date__in{width:100%;padding-right:46px;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.dd-date .dd-date__btn{position:absolute;top:0;right:0;bottom:0;width:46px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:0;background:none;color:var(--dd-date-icon,var(--color-meta));cursor:pointer;border-radius:0 6px 6px 0}
.dd-date .dd-date__btn:hover,.dd-date .dd-date__btn[aria-expanded="true"]{color:var(--color-brand)}
.dd-date .dd-date__btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:-4px}
.dd-date.is-invalid .dd-date__in{box-shadow:0 0 0 2px #e5484d;color:#c62828}
.dd-cal{position:absolute;top:calc(100% + 6px);left:0;z-index:80;width:308px;max-width:calc(100vw - 16px);padding:12px;background:var(--color-bg);color:var(--color-ink);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 22px 50px rgba(0,0,0,.22);font-family:var(--font-body);font-size:14px;line-height:1.2;text-align:left;animation:dd-cal-in .14s ease-out}
@keyframes dd-cal-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.dd-cal .dd-cal__head{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.dd-cal .dd-cal__nav{flex:0 0 36px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);color:var(--color-ink);cursor:pointer}
.dd-cal .dd-cal__nav:hover:not(:disabled){border-color:var(--color-ink)}
.dd-cal .dd-cal__nav:disabled{opacity:.3;cursor:default}
.dd-cal .dd-cal__sel{flex:1 1 auto;min-width:0;width:auto;height:36px;margin:0;padding:0 8px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);color:var(--color-ink);font:inherit;font-size:14px;font-weight:700;box-shadow:none;cursor:pointer}
.dd-cal .dd-cal__sel[data-sel="y"]{flex:0 0 78px}
.dd-cal .dd-cal__wd{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}
.dd-cal .dd-cal__wd span{padding:4px 0;text-align:center;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--color-meta)}
.dd-cal .dd-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dd-cal .dd-cal__day{height:38px;margin:0;padding:0;border:0;border-radius:9px;background:none;color:var(--color-ink);font:inherit;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}
.dd-cal .dd-cal__day:hover:not(:disabled){background:var(--color-bg-soft)}
.dd-cal .dd-cal__day.is-out{color:var(--color-meta);font-weight:500}
.dd-cal .dd-cal__day.is-today{box-shadow:inset 0 0 0 1.5px var(--color-brand)}
.dd-cal .dd-cal__day.is-sel{background:var(--color-brand);color:#fff;box-shadow:none}
.dd-cal .dd-cal__day:disabled{opacity:.28;cursor:default}
.dd-cal .dd-cal__day:focus-visible,.dd-cal .dd-cal__today:focus-visible,.dd-cal .dd-cal__close:focus-visible,.dd-cal .dd-cal__sel:focus-visible,.dd-cal .dd-cal__nav:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}
.dd-cal .dd-cal__foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-hairline)}
.dd-cal .dd-cal__today,.dd-cal .dd-cal__close{height:34px;margin:0;padding:0 12px;border:0;border-radius:9px;background:none;color:var(--color-brand);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.dd-cal .dd-cal__close{color:var(--color-meta)}
.dd-cal .dd-cal__today:hover,.dd-cal .dd-cal__close:hover{background:var(--color-bg-soft)}
@media (max-width:420px){.dd-cal{width:calc(100vw - 32px)}.dd-cal .dd-cal__day{height:40px}}
