.calendar{border:1px solid var(--line);background:#fffdf8;margin-bottom:32px}
.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px 0}.calendar-header .eyebrow{margin-bottom:5px}.calendar-navigation{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-month-label{display:flex;align-items:center;gap:10px;font-size:13px;margin-left:10px}.calendar-month-label input{width:175px;min-height:44px;padding:6px 9px}.calendar-help{padding:0 24px 18px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{border-top:1px solid var(--line);background:#f4eedf;text-align:center;font-size:13px;padding:9px 0}.calendar-grid{gap:1px;background:var(--line);border-block:1px solid var(--line)}
.calendar-day{min-width:0;min-height:125px;border:0;padding:10px;background:#fffdf8;color:inherit;text-align:left;display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:400;position:relative}.calendar-day:hover{background:#f5eddd}.calendar-day.other-month{background:#f4f1ea;color:var(--muted)}.calendar-day.selected{background:#f2e7db;box-shadow:inset 0 0 0 2px var(--wine)}.calendar-day:focus-visible{z-index:1;outline-offset:-4px}.calendar-date{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:600}.calendar-today-label{font-size:10px;color:var(--wine);font-weight:600}.calendar-day.today .calendar-date{color:var(--wine)}.calendar-day-content{display:grid;gap:4px}.calendar-time{background:#f1e7d2;border-left:3px solid #ba9654;padding:3px 5px;font-weight:600;display:flex;gap:5px;flex-wrap:wrap;font-size:12px}.calendar-time>span{margin-left:auto;font-weight:400}.calendar-time.confirmed{background:#e7efe8;border-color:#3a6651}.calendar-time.closed{background:#eeeae4;border-color:#837c73}.calendar-time small{font-weight:400;flex-basis:100%;font-size:10px}.calendar-more,.calendar-cancelled{color:var(--muted);font-size:11px}.calendar-pending{color:var(--wine);font-size:11px;font-weight:600;margin-top:auto}.calendar-legend{padding:0 24px 18px}.calendar-mobile-count,.calendar-mobile-label{display:none}.day-toolbar .field{min-width:220px}.day-heading{margin:0 0 18px;font-size:25px}.day-heading:focus{outline:none}
@media(max-width:900px){.calendar-header{align-items:start;flex-direction:column;gap:16px}.calendar-day{padding:8px;min-height:120px}.calendar-time{font-size:11px}}
@media(max-width:600px){.calendar-header{padding:18px 14px 0}.calendar-help{padding:0 14px 14px}.calendar-legend{padding:0 14px 14px;font-size:12px}.calendar-header h2{font-size:26px}.calendar-navigation{width:100%;gap:6px}.calendar-month-label{margin:0;width:100%;justify-content:space-between}.calendar-month-label input{flex:1;max-width:200px}.calendar-day{min-height:92px;padding:6px 3px;gap:4px;text-align:center;align-items:center}.calendar-date{font-size:14px}.calendar-today-label{display:none}.calendar-day.today .calendar-date{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.calendar-day-content{display:none}.calendar-mobile-count{display:block;font-size:9px;line-height:1.3}.calendar-pending{font-size:10px;line-height:1.3}.calendar-pending>span{display:none}.calendar-pending .calendar-mobile-label{display:inline}.calendar-cancelled{font-size:9px;line-height:1.3}.calendar-weekdays{font-size:11px}.day-toolbar .field{width:100%}.day-heading{font-size:23px}}
