
.dp,.dp__dialog,input[type=date][data-dp]{--dp-fg:var(--scheme-fg,var(--color-text,#1f2328));--dp-bg:var(--scheme-bg,var(--color-background,#fff));--dp-muted:var(--scheme-muted,var(--color-muted,#5b6470));--dp-accent:var(--scheme-link,var(--color-primary,#1d4ed8));--dp-on-accent:var(--color-onPrimary,#fff);--dp-line:color-mix(in srgb,var(--dp-fg) 38%,var(--dp-bg));--dp-hair:color-mix(in srgb,var(--dp-fg) 14%,var(--dp-bg));--dp-soft:color-mix(in srgb,var(--dp-accent) 12%,var(--dp-bg));--dp-radius:var(--radius-md,.5rem);--dp-focus:var(--focus-ring,var(--dp-accent))}
:where([data-color-scheme=dark],[data-color-scheme=accent]) :is(.dp,.dp__dialog,input[type=date][data-dp]){--dp-accent:var(--scheme-fg);--dp-on-accent:var(--scheme-bg)}
input[type=date][data-dp]{box-sizing:border-box;width:min(100%,15rem);min-height:2.875rem;padding:.55rem .8rem;border:1px solid var(--dp-line);border-radius:var(--dp-radius);background:var(--dp-bg);color:var(--dp-fg);font:inherit;color-scheme:light dark}
.dp{display:inline-flex;vertical-align:middle;max-width:100%;width:min(100%,15rem);box-sizing:border-box;font:inherit;color:var(--dp-fg)}
.dp--wide{width:100%}
.dp .dp__field{display:flex;align-items:stretch;width:100%;min-height:2.875rem;margin:0;border:1px solid var(--dp-line);border-radius:var(--dp-radius);background:var(--dp-bg);color:var(--dp-fg);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}
.dp .dp__field:hover{border-color:color-mix(in srgb,var(--dp-fg) 60%,var(--dp-bg))}
.dp .dp__field:focus-within{border-color:var(--dp-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dp-accent) 22%,transparent)}
.dp .dp__field[data-invalid]{border-color:var(--color-error,#b91c1c);box-shadow:0 0 0 1px var(--color-error,#b91c1c)}
.dp .dp__field>.dp__text{flex:1 1 0;min-width:7.5rem;width:0;box-sizing:border-box;height:auto;min-height:0;margin:0;padding:.55rem .25rem .55rem .85rem;border:0;border-radius:var(--dp-radius) 0 0 var(--dp-radius);outline:0;background:transparent;box-shadow:none;color:inherit;font:inherit;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.dp .dp__field>.dp__text::placeholder{color:var(--dp-muted);opacity:1;letter-spacing:.04em}
.dp .dp__field>.dp__open{flex:none;display:inline-flex;align-items:center;justify-content:center;width:2.875rem;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0 calc(var(--dp-radius) - 1px) calc(var(--dp-radius) - 1px) 0;background:transparent;box-shadow:none;color:var(--dp-accent);font:inherit;cursor:pointer;touch-action:manipulation}
.dp .dp__field>.dp__open:hover{background:var(--dp-soft)}
.dp .dp__field>.dp__open:focus-visible{outline:3px solid var(--dp-focus);outline-offset:-3px}
.dp .dp__field>.dp__open svg{width:1.25rem;height:1.25rem}
.dp__sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.dp__dialog{position:fixed;inset:auto;top:0;left:0;box-sizing:border-box;width:22rem;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 1rem);margin:0;padding:0;overflow:auto;border:1px solid var(--dp-hair);border-radius:calc(var(--dp-radius) + 6px);background:var(--dp-bg);color:var(--dp-fg);font:inherit;font-size:1rem;line-height:1.3;text-align:start;box-shadow:0 22px 48px -18px rgba(15,23,42,.38),0 4px 12px -4px rgba(15,23,42,.12)}
.dp__dialog::backdrop{background:rgba(15,23,42,.10)}
.dp__dialog[open]{animation:dp-in .16s cubic-bezier(.2,.7,.3,1)}
@keyframes dp-in{from{opacity:0;transform:translateY(-6px) scale(.985)}}
.dp__dialog .dp__panel{padding:1rem 1rem .75rem}
.dp__dialog .dp__head{display:flex;align-items:center;gap:.25rem;margin:0 0 .5rem}
.dp__dialog .dp__title{flex:1 1 auto;min-width:0;margin:0 0 0 .4rem;padding:0;font-family:var(--font-heading,inherit);font-size:1.0625rem;font-weight:600;line-height:1.25;letter-spacing:0;color:var(--dp-fg)}
.dp__dialog .dp__selects{flex:1 1 auto;display:flex;gap:.4rem;min-width:0}
.dp__dialog .dp__selects select{flex:1 1 auto;min-width:0;min-height:44px;margin:0;padding:.3rem .5rem;border:1px solid var(--dp-line);border-radius:var(--dp-radius);background:var(--dp-bg);color:var(--dp-fg);font:inherit}
.dp__dialog .dp__selects select:last-child{flex:0 0 5.5rem}
.dp__dialog button{-webkit-appearance:none;appearance:none;touch-action:manipulation}
.dp__dialog .dp__nav{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:var(--dp-radius);background:transparent;box-shadow:none;color:var(--dp-fg);font:inherit;cursor:pointer}
.dp__dialog .dp__nav svg{width:1.15rem;height:1.15rem}
.dp__dialog .dp__nav:hover:not(:disabled){background:var(--dp-soft)}
.dp__dialog .dp__nav:disabled{opacity:.3;cursor:default}
.dp__dialog .dp__grid{width:100%;margin:0;border:0;border-collapse:collapse;border-spacing:0;table-layout:fixed;background:none}
.dp__dialog .dp__grid th{padding:.35rem 0 .45rem;border:0;background:none;color:var(--dp-muted);font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-align:center}
.dp__dialog .dp__grid td{padding:1px;border:0;background:none;text-align:center}
.dp__dialog .dp__day{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:44px;min-width:44px;margin:0;padding:0;border:0;border-radius:var(--dp-radius);background:transparent;box-shadow:none;color:var(--dp-fg);font:inherit;font-size:1rem;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;transition:background-color .12s ease,color .12s ease}
.dp__dialog .dp__day:hover:not([aria-disabled=true]){background:var(--dp-soft)}
.dp__dialog .dp__day[aria-current=date]{font-weight:700;box-shadow:inset 0 0 0 1.5px var(--dp-line)}
.dp__dialog .dp__day[aria-pressed=true]{background:var(--dp-accent);color:var(--dp-on-accent);font-weight:600;box-shadow:none}
.dp__dialog .dp__day[aria-disabled=true]{color:color-mix(in srgb,var(--dp-muted) 70%,var(--dp-bg));cursor:default}
.dp__dialog .dp__day[data-state=full]{color:var(--dp-muted);text-decoration:line-through;text-decoration-thickness:1px}
.dp__dialog .dp__day[data-state=free]::after{content:"";position:absolute;left:50%;bottom:6px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:currentColor;color:var(--dp-accent)}
.dp__dialog .dp__day[data-state=free][aria-pressed=true]::after{color:var(--dp-on-accent)}
.dp__dialog .dp__day:focus-visible{outline:2px solid var(--dp-focus);outline-offset:1px;z-index:1}
.dp__dialog .dp__legend{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:.6rem .25rem 0;padding:0;color:var(--dp-muted);font-size:.875rem;list-style:none}
.dp__dialog .dp__legend li{display:inline-flex;align-items:center;gap:.4rem;margin:0}
.dp__dialog .dp__legend .dp__dot{width:6px;height:6px;border-radius:50%;background:var(--dp-accent)}
.dp__dialog .dp__legend .dp__strike{text-decoration:line-through}
.dp__dialog .dp__foot{display:flex;justify-content:space-between;gap:.5rem;margin:.6rem 0 0;padding:.6rem 0 0;border-top:1px solid var(--dp-hair)}
.dp__dialog .dp__link{min-height:44px;margin:0;padding:0 .75rem;border:0;border-radius:var(--dp-radius);background:transparent;box-shadow:none;color:var(--dp-accent);font:inherit;font-size:1rem;font-weight:600;cursor:pointer}
.dp__dialog .dp__link:hover:not(:disabled){background:var(--dp-soft)}
.dp__dialog .dp__link:disabled{opacity:.4;cursor:default}
.dp__dialog :is(.dp__nav,.dp__link,select):focus-visible{outline:2px solid var(--dp-focus);outline-offset:1px}
.dp__dialog.dp__dialog--sheet{top:auto;bottom:0;left:0;right:0;width:100%;max-width:none;border-width:1px 0 0;border-radius:calc(var(--dp-radius) + 10px) calc(var(--dp-radius) + 10px) 0 0;padding-bottom:env(safe-area-inset-bottom,0)}
.dp__dialog--sheet::backdrop{background:rgba(15,23,42,.34)}
.dp__dialog--sheet[open]{animation-name:dp-up;animation-duration:.2s}
.dp__dialog--sheet .dp__panel{max-width:24rem;margin:0 auto;padding:1rem 1rem .9rem}
@keyframes dp-up{from{transform:translateY(24px);opacity:.4}}
@media (prefers-reduced-motion:reduce){.dp__dialog[open],.dp__dialog--sheet[open]{animation:none}.dp .dp__field,.dp__dialog .dp__day{transition:none}}
@media (forced-colors:active){.dp__dialog .dp__day[aria-pressed=true]{outline:2px solid Highlight}.dp__dialog .dp__day[aria-disabled=true]{color:GrayText}}
