.calendar_table{width:100%;max-width:585px;margin:0 auto;table-layout:fixed;border-collapse:collapse}.calendar_table th{height:48px;padding:8px;text-align:center;font-weight:700;border-bottom:1px solid #dadfe7}.calendar_table td{height:48px;padding:0;text-align:center;position:relative;vertical-align:middle}.calendar_table th:first-child,.calendar_table th:last-child,.calendar_table .wd-6,.calendar_table .wd-7{color:#be0000}.calendar_table .past-date{opacity:1}.calendar_table .past-date>.calendar-day-number,.calendar_table .past-date>.calendar-event>.event-day{opacity:.35}.calendar_table .past-date .calendar-event-tooltip{opacity:1}.calendar_table td.today:after{content:"";position:absolute;inset:0;border-radius:24px;border:1px solid var(--bs-primary);pointer-events:none}.calendar_table td.othermonth.today:after{display:none}.calendar-day-number,.event-day{position:relative;z-index:1}.event-day{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;font-weight:700;line-height:1;cursor:pointer}.event-day:hover{background:#e8f1fd}.event-day:focus-visible{outline:3px solid #082f5e;outline-offset:2px;background:#e8f1fd}.calendar-event{position:relative;display:inline-flex;align-items:center;justify-content:center}.calendar-event-tooltip{position:absolute;z-index:1000;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(280px,80vw);padding:12px 16px;text-align:left;font-size:14px;line-height:1.4;color:#fff;background:#082f5e;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.2);visibility:hidden;opacity:0;pointer-events:none}.calendar-event-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#082f5e}.calendar-event.is-open .calendar-event-tooltip{visibility:visible;opacity:1;pointer-events:auto}.calendar_table .wd-7 .calendar-event-tooltip{left:0;transform:none}.calendar_table .wd-6 .calendar-event-tooltip{left:auto;right:0;transform:none}.calendar_header{position:relative;min-height:48px;display:flex;align-items:center;justify-content:center;padding:0 52px}.calendar_header .switch-month{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:50%;color:#082f5e;text-decoration:none;cursor:pointer;z-index:10}.calendar_header .switch-left{left:0}.calendar_header .switch-right{right:0}.calendar_header .switch-month:hover{background:#e8f1fd}.calendar_header .switch-month:focus-visible{outline:3px solid #082f5e;outline-offset:2px;background:#e8f1fd}.calendar_header .slick-arrow-left{left:0px;}.calendar_header .slick-arrow-right{right:0px;}html.contrast body .calendar_header .switch-month{color:#faf337}html.contrast body .calendar_header .switch-month:focus-visible{outline-color:#faf337;background:#333}html.contrast body .calendar_table th,html.contrast body .calendar_table td{color:#fdf99b}html.contrast body .event-day{color:#fdf99b}html.contrast body .event-day:focus-visible{outline-color:#faf337;background:#333}html.contrast body .calendar-event-tooltip{color:#faf337;background:#1e1e1e;border:1px solid #faf337}html.contrast body .calendar-event-tooltip:after{border-top-color:#faf337}
