.cal-root.svelte-zxtg7j{--cell-size: clamp(28px, 5vw, 40px);--cell-gap: clamp(3px, .5vw, 5px);--cell-radius: 5px;width:100%}.cal-nav.svelte-zxtg7j{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cal-arrow.svelte-zxtg7j{width:32px;height:32px;border-radius:50%;border:1px solid var(--color-brand-border, #F0EBE1);background:#fff;color:var(--color-brand-primary, #8C7A6B);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}.cal-arrow.svelte-zxtg7j:hover:not(:disabled){background:var(--color-brand-border, #F0EBE1);border-color:var(--color-brand-muted, #A39B92)}.cal-arrow.svelte-zxtg7j:disabled{opacity:.3;cursor:default}.cal-months.svelte-zxtg7j{display:grid;grid-template-columns:repeat(var(--num-weeks),1fr);gap:var(--cell-gap);flex:1;padding-left:0}.cal-month-label.svelte-zxtg7j{font-size:.72rem;font-weight:700;color:var(--color-brand-primary, #8C7A6B);letter-spacing:.03em;white-space:nowrap}.cal-grid.svelte-zxtg7j{display:grid;grid-template-columns:auto repeat(var(--num-weeks),1fr);grid-template-rows:repeat(7,auto);gap:var(--cell-gap)}.cal-day-name.svelte-zxtg7j{display:flex;align-items:center;justify-content:flex-end;padding-right:4px;font-size:.6rem;color:var(--color-brand-muted, #A39B92);-webkit-user-select:none;user-select:none;font-weight:500;min-width:18px}.cal-day-name.weekend-label.svelte-zxtg7j{color:#c9beb3}.cal-cell.svelte-zxtg7j{aspect-ratio:1;width:100%;border-radius:var(--cell-radius);border:none;padding:0;position:relative;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .2s ease;outline:none}.cal-cell.empty.svelte-zxtg7j{background:transparent}.cal-cell.occupied.even-month.svelte-zxtg7j{background:var(--color-brand-border, #F0EBE1)}.cal-cell.occupied.odd-month.svelte-zxtg7j{background:#e6dfd5}.cal-cell.weekend.occupied.even-month.svelte-zxtg7j,.cal-cell.weekend.occupied.odd-month.svelte-zxtg7j{background:#f5f2ee}.cal-num.svelte-zxtg7j{font-size:clamp(.65rem,2vw,.82rem);font-weight:700;line-height:1;pointer-events:none}.cal-cell.occupied.svelte-zxtg7j .cal-num:where(.svelte-zxtg7j){color:var(--color-brand-muted, #A39B92)}.cal-cell.occupied.odd-month.svelte-zxtg7j .cal-num:where(.svelte-zxtg7j){color:#9a9189}.cal-cell.weekend.occupied.svelte-zxtg7j .cal-num:where(.svelte-zxtg7j){color:#d8d2ca}.cal-cell.available.svelte-zxtg7j .cal-num:where(.svelte-zxtg7j){color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.cal-cell.available.svelte-zxtg7j{background:linear-gradient(145deg,#d97706,#f59e0b);cursor:pointer;box-shadow:inset 0 1px #ffffff40,0 1px 3px #d977064d;animation:svelte-zxtg7j-pulse 2.5s ease-in-out infinite}.cal-cell.available.svelte-zxtg7j:hover:not(:disabled){transform:scale(1.35);box-shadow:0 0 14px 4px #f59e0b80;z-index:10;border-radius:6px}.cal-cell.available.svelte-zxtg7j:focus-visible{outline:2px solid #f59e0b;outline-offset:3px}.cal-cell.available.svelte-zxtg7j:active:not(:disabled){transform:scale(1.15)}@keyframes svelte-zxtg7j-pulse{0%,to{box-shadow:inset 0 1px #ffffff40,0 1px 3px #d977064d}50%{box-shadow:inset 0 1px #ffffff40,0 0 10px 3px #f59e0b59}}.cal-tip.svelte-zxtg7j{margin-top:10px;padding:8px 16px;background:#fff;border:1px solid var(--color-brand-border, #F0EBE1);border-radius:12px;font-size:.8rem;color:var(--color-brand-text, #4A4A4A);text-align:center;box-shadow:0 4px 12px #0000000f;animation:svelte-zxtg7j-tipIn .15s ease}@keyframes svelte-zxtg7j-tipIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cal-legend.svelte-zxtg7j{display:flex;align-items:center;gap:16px;margin-top:12px;justify-content:center;font-size:.7rem;color:var(--color-brand-muted, #A39B92)}.cal-legend-item.svelte-zxtg7j{display:flex;align-items:center;gap:5px}.cal-swatch.svelte-zxtg7j{width:13px;height:13px;border-radius:3px;display:inline-block;flex-shrink:0}.cal-swatch.occupied.svelte-zxtg7j{background:var(--color-brand-border, #F0EBE1)}.cal-swatch.available.svelte-zxtg7j{background:linear-gradient(145deg,#d97706,#f59e0b)}@media(max-width:640px){.cal-root.svelte-zxtg7j{--cell-size: clamp(30px, 11vw, 44px);--cell-gap: clamp(2px, .8vw, 4px)}.cal-day-name.svelte-zxtg7j{font-size:.5rem;padding-right:1px;min-width:14px}.cal-month-label.svelte-zxtg7j{font-size:.62rem}.cal-num.svelte-zxtg7j{font-size:clamp(.6rem,2.5vw,.8rem)}.cal-arrow.svelte-zxtg7j{width:28px;height:28px}}
