.app-cal[data-v-35446938]{--cal-surface:var(--color-surface);--cal-border:var(--color-line);--cal-accent:var(--color-primary);--cal-accent-deep:var(--color-primary-deep);--cal-on-accent:var(--color-surface);--cal-ink:var(--color-ink);--cal-ink-muted:var(--color-ink-muted);--cal-muted-bg:var(--color-cream);--cal-ring:color-mix(in oklab,var(--color-primary) 30%,transparent);display:flex;flex-direction:column;gap:.5rem;padding:.875rem;background:var(--cal-surface);border:1.5px solid var(--cal-border);border-radius:16px;font-family:var(--font-sans);width:18rem;box-shadow:var(--shadow-card)}.app-cal--sm[data-v-35446938]{width:16rem;padding:.625rem}.app-cal__head[data-v-35446938]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.app-cal__nav[data-v-35446938]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:var(--cal-muted-bg);border:1.5px solid var(--cal-border);color:var(--cal-ink-muted);cursor:pointer;outline:none;transition:border-color .2s var(--ease-spring),color .2s var(--ease-spring)}.app-cal__nav[data-v-35446938]:not(:disabled):hover{border-color:var(--cal-accent);color:var(--cal-accent)}.app-cal__nav[data-v-35446938]:disabled{opacity:.4;cursor:not-allowed}.app-cal__nav[data-v-35446938]:focus-visible{border-color:var(--cal-accent);box-shadow:0 0 0 3px var(--cal-ring)}.app-cal__title[data-v-35446938]{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:10px;background:transparent;border:1.5px solid transparent;font:inherit;font-weight:600;color:var(--cal-ink);cursor:pointer;outline:none;transition:background-color .2s var(--ease-spring),border-color .2s var(--ease-spring)}.app-cal__title[data-v-35446938]:focus-visible,.app-cal__title[data-v-35446938]:hover{background:var(--cal-muted-bg);border-color:var(--cal-border)}.app-cal__title-text[data-v-35446938]{display:inline-flex;align-items:baseline;gap:.35rem}.app-cal__title-month[data-v-35446938]{font-size:1rem}.app-cal__title-year[data-v-35446938]{font-size:.85rem;color:var(--cal-ink-muted)}.app-cal__title-chev[data-v-35446938]{color:var(--cal-ink-muted);transition:transform .25s var(--ease-spring),color .2s var(--ease-spring)}.app-cal__title-chev--open[data-v-35446938]{transform:rotate(180deg);color:var(--cal-accent)}.app-cal__grid-chips[data-v-35446938]{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;padding:.25rem 0}.app-cal__chip[data-v-35446938]{padding:.7rem .5rem;border:1.5px solid var(--cal-border);border-radius:10px;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--cal-ink);cursor:pointer;outline:none;transition:background-color .15s var(--ease-spring),border-color .15s var(--ease-spring),color .15s var(--ease-spring),transform .12s var(--ease-spring)}.app-cal__chip[data-v-35446938]:hover:not(:disabled){border-color:var(--cal-accent);color:var(--cal-accent)}.app-cal__chip[data-v-35446938]:focus-visible{border-color:var(--cal-accent);box-shadow:0 0 0 3px var(--cal-ring)}.app-cal__chip--current[data-v-35446938]{color:var(--cal-accent)}.app-cal__chip--selected[data-v-35446938],.app-cal__chip--selected[data-v-35446938]:hover{background:var(--cal-accent);border-color:var(--cal-accent);color:var(--cal-on-accent);transform:translateY(-1px)}.app-cal__chip--disabled[data-v-35446938]{opacity:.4;cursor:not-allowed;text-decoration:line-through}.app-cal__weekdays[data-v-35446938]{padding:.25rem .125rem;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cal-ink-muted);text-align:center}.app-cal__grid[data-v-35446938],.app-cal__weekdays[data-v-35446938]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.app-cal__day[data-v-35446938]{position:relative;display:inline-flex;align-items:center;justify-content:center;height:36px;border:none;background:transparent;border-radius:10px;font:inherit;font-size:13.5px;font-weight:500;color:var(--cal-ink);cursor:pointer;outline:none;transition:background-color .15s var(--ease-spring),color .15s var(--ease-spring),transform .12s var(--ease-spring)}.app-cal__day-num[data-v-35446938]{font-variant-numeric:tabular-nums}.app-cal__day[data-v-35446938]:hover:not(:disabled){background:var(--cal-muted-bg)}.app-cal__day[data-v-35446938]:focus-visible{background:var(--cal-muted-bg);box-shadow:0 0 0 3px var(--cal-ring)}.app-cal__day--out[data-v-35446938]{color:var(--cal-ink-muted);opacity:.6}.app-cal__day--today[data-v-35446938]{color:var(--cal-accent);font-weight:600}.app-cal__day--selected[data-v-35446938],.app-cal__day--selected[data-v-35446938]:hover{background:var(--cal-accent);color:var(--cal-on-accent);transform:translateY(-1px)}.app-cal__day--disabled[data-v-35446938]{color:var(--cal-ink-muted);opacity:.4;cursor:not-allowed;text-decoration:line-through}.app-cal__day-dot[data-v-35446938]{position:absolute;bottom:4px;width:4px;height:4px;border-radius:9999px;background:var(--cal-accent)}.app-cal__day--selected .app-cal__day-dot[data-v-35446938]{background:var(--cal-on-accent)}.app-cal__foot[data-v-35446938]{display:flex;align-items:center;gap:.25rem;padding-top:.5rem;border-top:1.5px solid var(--cal-border)}.app-cal__footbtn[data-v-35446938]{background:transparent;border:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--cal-accent);cursor:pointer;padding:.3rem .5rem;border-radius:8px;outline:none;transition:background-color .15s var(--ease-spring)}.app-cal__footbtn[data-v-35446938]:disabled{color:var(--cal-ink-muted);cursor:not-allowed}.app-cal__footbtn[data-v-35446938]:focus-visible,.app-cal__footbtn[data-v-35446938]:hover:not(:disabled){background:var(--cal-muted-bg)}@media(prefers-reduced-motion:reduce){.app-cal__chip[data-v-35446938],.app-cal__day[data-v-35446938],.app-cal__day--selected[data-v-35446938]{transition:background-color .1s ease;transform:none}}.app-datepicker-enter-active[data-v-0e88f843],.app-datepicker-leave-active[data-v-0e88f843]{transition:opacity .2s var(--ease-spring),transform .2s var(--ease-spring)}.app-datepicker-enter-from[data-v-0e88f843],.app-datepicker-leave-to[data-v-0e88f843]{opacity:0;transform:translateY(-6px) scale(.98)}
