.birthday{grid-template-columns:minmax(0,24rem) 1fr;align-items:start;gap:2rem;margin-top:1.5rem;display:grid}.birthday__sheet{padding:1.25rem}.birthday__header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.birthday__month{letter-spacing:-.015em;text-align:center;text-transform:capitalize;flex:1;font-size:1.0625rem;font-weight:600}.birthday__nav{border:1px solid var(--line);background:var(--paper-raised);width:2rem;height:2rem;color:var(--ink-soft);cursor:pointer;transition:transform .16s var(--ease-out), border-color .16s var(--ease-out), color .16s var(--ease-out);border-radius:50%;place-items:center;font-size:1.125rem;line-height:1;display:grid}.birthday__nav:active:not([disabled]){transform:scale(.92)}.birthday__nav[disabled]{opacity:.35;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.birthday__nav:not([disabled]):hover{border-color:var(--ink-faint);color:var(--ink)}}.birthday__weekdays,.birthday__grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.birthday__weekdays{color:var(--ink-faint);text-align:center;margin-bottom:.375rem;font-size:.75rem}.birthday__blank{aspect-ratio:1}.birthday__day{aspect-ratio:1;border-radius:var(--radius-sm);font:inherit;font-variant-numeric:tabular-nums;color:var(--ink-faint);cursor:not-allowed;transition:transform .16s var(--ease-out), background-color .16s var(--ease-out), border-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;border:1px solid #0000;place-items:center;gap:0;display:grid;position:relative}.birthday__day[data-bookable]{color:var(--ink);background:var(--paper);border-color:var(--line);cursor:pointer}.birthday__day[data-bookable]:active{transform:scale(.94)}.birthday__day:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (hover:hover) and (pointer:fine){.birthday__day[data-bookable]:hover{border-color:var(--accent)}}.birthday__day[data-selected]{background:var(--accent);border-color:var(--accent);color:#fff}.birthday__day-number{font-size:.9375rem;line-height:1}.birthday__day-dot{background:var(--accent);width:.25rem;height:.25rem;transition:background-color .16s var(--ease-out);border-radius:50%;position:absolute;bottom:.3rem}.birthday__day[data-selected] .birthday__day-dot{background:#ffffffbf}.birthday__slots{flex-direction:column;gap:.875rem;min-height:14rem;display:flex}.birthday__slots-title{letter-spacing:-.015em;font-size:1.0625rem;font-weight:600}.birthday__slot-list{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.625rem;display:grid}.birthday__slot{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);width:100%;font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);flex-direction:column;align-items:flex-start;gap:.125rem;padding:.875rem 1rem;display:flex}.birthday__slot:active{transform:scale(.97)}.birthday__slot:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (hover:hover) and (pointer:fine){.birthday__slot:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}}.birthday__slot-time{letter-spacing:-.015em;font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:600}.birthday__hint{border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft);text-align:center;padding:2.5rem 1.5rem}@media (max-width:56rem){.birthday{grid-template-columns:1fr}}
