/******** borderSize *******/
/******** borderStyle *******/
/******** radius *******/
/******** shadow distance *******/
/******** size *******/
/******** spacing *******/
/******** shadow *******/
/******** opacity *******/
/******** fontSize *******/
/******** fontWeight ********/
/******** Primary *******/
/******** success *******/
/******** warning *******/
/******** danger *******/
/******** link *******/
/******** radius *******/
/********* icon hover *********/
.sd-calendar--default-theme,
[class$=-calendar--default-theme] {
  --sd-calendar-primary-color: rgb(var(--sd-primary-6));
  --sd-calendar-primary-sub-color: rgb(var(--sd-primary-5));
  --sd-calendar-primary-extra-color: rgb(var(--sd-primary-4));
  --sd-calendar-secondary-color: var(--sd-color-bg-2);
  --sd-calendar-base-color: var(--sd-color-text-1);
  --sd-calendar-contrast-color: var(--sd-color-white);
  --sd-calendar-border-color: var(--sd-color-neutral-3);
  --sd-calendar-header-color: var(--sd-color-white);
  --sd-calendar-event-color: var(--sd-color-white);
  --sd-calendar-event-border-color: color-mix(in srgb, var(--sd-calendar-base-color) 12%, transparent);
  --sd-calendar-border-radius: var(--sd-border-radius-medium);
  --sd-calendar-height: 500px;
  --sd-calendar-min-cell-size: 1rem;
}
.sd-calendar--default-theme.sd-calendar--dark, .sd-calendar--default-theme[class*=-calendar--dark], [sd-theme=dark] .sd-calendar--default-theme,
[class$=-calendar--default-theme].sd-calendar--dark,
[class$=-calendar--default-theme][class*=-calendar--dark],
[sd-theme=dark] [class$=-calendar--default-theme] {
  --sd-calendar-primary-color: color-mix(in srgb, rgb(var(--sd-primary-6)) 78%, #0f172a);
  --sd-calendar-secondary-color: var(--sd-color-fill-2);
  --sd-calendar-base-color: var(--sd-color-white);
  --sd-calendar-contrast-color: var(--sd-color-text-1);
  --sd-calendar-border-color: color-mix(in srgb, var(--sd-calendar-base-color) 16%, transparent);
  --sd-calendar-header-color: var(--sd-calendar-base-color);
  --sd-calendar-event-color: var(--sd-calendar-base-color);
  --sd-calendar-event-border-color: color-mix(in srgb, var(--sd-calendar-base-color) 40%, transparent);
}

.sd-calendar {
  --sd-calendar-grid-columns: 7;
  --sd-calendar-grid-rows: 6;
  --sd-calendar-weekday-bar-size: 1.7rem;
  --sd-calendar-schedules-bar-size: 1.7rem;
  --sd-calendar-all-day-bar-size: 2rem;
  --sd-calendar-time-cell-size: 50px;
  --sd-calendar-min-cell-size: 0;
  --sd-calendar-min-schedule-size: 0;
  --sd-calendar-transition-duration: 0.25s;
  z-index: 0;
  display: flex;
  flex-direction: column;
  user-select: none;
}
.sd-calendar--date-picker {
  --sd-calendar-weekday-bar-size: 1.3rem;
}
.sd-calendar--timeless {
  --sd-calendar-all-day-bar-size: 0;
}
.sd-calendar,
.sd-calendar *,
.sd-calendar ::before,
.sd-calendar ::after {
  box-sizing: border-box;
}
.sd-calendar .grow {
  flex-grow: 1;
}
.sd-calendar__body-wrap {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: max(var(--sd-calendar-grid-columns) * var(--sd-calendar-min-cell-size, 0px), var(--sd-calendar-grid-columns) * var(--sd-calendar-schedules-count, 0) * var(--sd-calendar-min-schedule-size, 0px), 100%);
  min-width: 0;
}
.sd-calendar__scrollable--horizontal .sd-calendar__body-wrap {
  flex-direction: row;
  width: auto;
  height: max(var(--sd-calendar-grid-rows) * var(--sd-calendar-min-cell-size, 0px), var(--sd-calendar-grid-rows) * var(--sd-calendar-schedules-count, 0) * var(--sd-calendar-min-schedule-size, 0px), 100%);
}
.sd-calendar__scrollable-wrap {
  position: relative;
  display: flex;
  flex: 1;
  min-height: 1px;
}
.sd-calendar__scrollable {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.sd-calendar__scrollable--row {
  flex-direction: row;
}
.sd-calendar__scrollable--has-week-numbers {
  flex-direction: row;
}
.sd-calendar__week-numbers {
  display: flex;
  flex-direction: column;
  padding-top: calc(var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size) + var(--sd-calendar-all-day-bar-size));
}
.sd-calendar__week-number {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  width: 1.4em;
}
.sd-calendar__schedules-headings {
  display: flex;
  flex-grow: 1;
}
.sd-calendar__schedule {
  position: relative;
  display: flex;
  flex-basis: 0;
  flex-grow: 1;
  justify-content: center;
  overflow: hidden;
}
.sd-calendar__scrollable--day-view .sd-calendar__schedule, .sd-calendar__scrollable--days-view .sd-calendar__schedule, .sd-calendar__scrollable--week-view .sd-calendar__schedule {
  min-width: var(--sd-calendar-min-schedule-size, 0);
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view [data-overlayscrollbars-viewport], .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view [data-overlayscrollbars-viewport], .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view [data-overlayscrollbars-viewport] {
  display: grid;
  grid-template-rows: 0fr 1fr;
  grid-template-columns: auto;
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__schedules-headings, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__schedules-headings, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__schedules-headings {
  flex-direction: column;
  width: var(--sd-calendar-schedules-bar-size);
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__schedule, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__schedule, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__schedule {
  min-width: 0;
  min-height: var(--sd-calendar-min-schedule-size, 0);
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__time-column, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__time-column, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__time-column {
  flex-direction: row;
  align-self: flex-start;
  padding-top: 0;
  padding-left: calc(var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size) + var(--sd-calendar-all-day-bar-size));
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__time-column-inner, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__time-column-inner, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__time-column-inner {
  flex-direction: row;
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__time-column-inner .sd-calendar__time-cell:first-child, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__time-column-inner .sd-calendar__time-cell:first-child, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__time-column-inner .sd-calendar__time-cell:first-child {
  margin-inline-start: 1.5em;
  margin-block-start: 0;
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__all-day-label, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__all-day-label, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__all-day-label {
  width: calc(var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size) + var(--sd-calendar-all-day-bar-size));
  height: 100%;
  margin-top: 0;
  margin-left: calc((var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size) + var(--sd-calendar-all-day-bar-size)) * -1);
  padding-top: 0;
  padding-left: calc(var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size));
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__time-cell, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__time-cell, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__time-cell {
  align-items: center;
  width: var(--sd-calendar-time-cell-size);
  height: 100%;
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__body, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__body, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__body {
  --sd-calendar-grid-columns: 1;
  --sd-calendar-grid-rows: 7;
  display: grid;
  flex: 1;
  grid-template-rows: repeat(var(--sd-calendar-grid-rows), 1fr);
  grid-template-columns: repeat(var(--sd-calendar-grid-columns), 1fr);
  width: 100%;
  height: auto;
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__weekdays-headings, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__weekdays-headings, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__weekdays-headings {
  flex-direction: column;
  flex-shrink: 0;
  width: var(--sd-calendar-weekday-bar-size);
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__all-day, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__all-day, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__all-day {
  flex-direction: column;
  width: var(--sd-calendar-all-day-bar-size);
  height: 100%;
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__now-line, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__now-line, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__now-line {
  top: 0;
  left: auto;
  width: 0;
  height: 100%;
  border-top: none;
  border-left: 1px solid;
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__cell--has-schedules, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__cell--has-schedules, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__cell--has-schedules {
  flex-direction: column;
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__schedule--cell, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__schedule--cell, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__schedule--cell {
  flex-direction: row;
  height: 100%;
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__event, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__event, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__event {
  inset: 0 auto;
  width: auto;
}

.sd-calendar-slide-fade--left-enter-active,
[class*=-calendar-slide-fade--left-enter-active],
.sd-calendar-slide-fade--left-leave-active,
[class*=-calendar-slide-fade--left-leave-active],
.sd-calendar-slide-fade--right-enter-active,
[class*=-calendar-slide-fade--right-enter-active],
.sd-calendar-slide-fade--right-leave-active,
[class*=-calendar-slide-fade--right-leave-active] {
  transition: var(--sd-calendar-transition-duration) ease-in-out;
}

.sd-calendar-slide-fade--left-enter-from,
.sd-calendar-slide-fade--right-leave-to,
[class*=-calendar-slide-fade--left-enter-from],
[class*=-calendar-slide-fade--right-leave-to] {
  transform: translateX(-12px);
  opacity: 0;
}

.sd-calendar-slide-fade--left-leave-to,
.sd-calendar-slide-fade--right-enter-from,
[class*=-calendar-slide-fade--left-leave-to],
[class*=-calendar-slide-fade--right-enter-from] {
  transform: translateX(12px);
  opacity: 0;
}

.sd-calendar-slide-fade--left-enter-active,
.sd-calendar-slide-fade--right-enter-active,
.sd-calendar-slide-fade--left-leave-active ~ .sd-calendar-slide-fade--left-leave-active,
.sd-calendar-slide-fade--right-leave-active ~ .sd-calendar-slide-fade--right-leave-active,
[class*=-calendar-slide-fade--left-enter-active],
[class*=-calendar-slide-fade--right-enter-active],
[class*=-calendar-slide-fade--left-leave-active] ~ [class*=-calendar-slide-fade--left-leave-active],
[class*=-calendar-slide-fade--right-leave-active] ~ [class*=-calendar-slide-fade--right-leave-active] {
  position: absolute !important;
  inset: 0;
}

.sd-calendar-event-delete-leave-active,
[class*=-calendar-event-delete-leave-active] {
  transition: 0.15s ease-out;
}

.sd-calendar-event-delete-leave-to,
[class*=-calendar-event-delete-leave-to] {
  transform: translateY(0.5rem);
  opacity: 0;
}

.sd-calendar-shrink-enter-active,
.sd-calendar-shrink-leave-active,
[class*=-calendar-shrink-enter-active],
[class*=-calendar-shrink-leave-active] {
  transition: transform 0.2s, opacity 0.2s;
}

.sd-calendar-shrink-enter-from,
.sd-calendar-shrink-leave-to,
[class*=-calendar-shrink-enter-from],
[class*=-calendar-shrink-leave-to] {
  opacity: 0;
}

.sd-calendar--default-theme,
[class$=-calendar--default-theme] {
  position: relative;
  height: var(--sd-calendar-height);
  color: var(--sd-calendar-base-color);
  border-radius: var(--sd-calendar-border-radius);
}
.sd-calendar--default-theme.sd-calendar--dragging-event, .sd-calendar--default-theme[class*=-calendar--dragging-event],
[class$=-calendar--default-theme].sd-calendar--dragging-event,
[class$=-calendar--default-theme][class*=-calendar--dragging-event] {
  cursor: grabbing;
}
.sd-calendar--default-theme.sd-calendar--resizing-event, .sd-calendar--default-theme[class*=-calendar--resizing-event],
[class$=-calendar--default-theme].sd-calendar--resizing-event,
[class$=-calendar--default-theme][class*=-calendar--resizing-event] {
  cursor: ns-resize;
}
.sd-calendar--default-theme.sd-calendar--horizontal.sd-calendar--resizing-event, .sd-calendar--default-theme[class*=-calendar--horizontal][class*=-calendar--resizing-event],
[class$=-calendar--default-theme].sd-calendar--horizontal.sd-calendar--resizing-event,
[class$=-calendar--default-theme][class*=-calendar--horizontal][class*=-calendar--resizing-event] {
  cursor: ew-resize;
}
.sd-calendar--default-theme .sd-calendar__header,
[class$=-calendar--default-theme] .sd-calendar__header {
  color: var(--sd-calendar-header-color);
  border-top-left-radius: var(--sd-calendar-border-radius);
  border-top-right-radius: var(--sd-calendar-border-radius);
}
.sd-calendar--default-theme .sd-calendar__views-bar,
[class$=-calendar--default-theme] .sd-calendar__views-bar {
  background-color: var(--sd-calendar-primary-color);
}
.sd-calendar--default-theme .sd-calendar__views-bar,
.sd-calendar--default-theme .sd-calendar__title-bar,
[class$=-calendar--default-theme] .sd-calendar__views-bar,
[class$=-calendar--default-theme] .sd-calendar__title-bar {
  padding-top: 4px;
  padding-bottom: 4px;
}
.sd-calendar--default-theme .sd-calendar__title-bar,
[class$=-calendar--default-theme] .sd-calendar__title-bar {
  position: relative;
  padding-right: 0.6em;
  padding-left: 0.6em;
  background-color: var(--sd-calendar-primary-sub-color);
}
.sd-calendar--default-theme .sd-calendar__view-button,
.sd-calendar--default-theme .sd-calendar__nav,
.sd-calendar--default-theme button.sd-calendar__title,
[class$=-calendar--default-theme] .sd-calendar__view-button,
[class$=-calendar--default-theme] .sd-calendar__nav,
[class$=-calendar--default-theme] button.sd-calendar__title {
  color: inherit;
  background: none;
  border: none;
}
.sd-calendar--default-theme .sd-calendar__view-button:not([disabled]),
.sd-calendar--default-theme .sd-calendar__nav:not([disabled]),
.sd-calendar--default-theme button.sd-calendar__title:not([disabled]),
[class$=-calendar--default-theme] .sd-calendar__view-button:not([disabled]),
[class$=-calendar--default-theme] .sd-calendar__nav:not([disabled]),
[class$=-calendar--default-theme] button.sd-calendar__title:not([disabled]) {
  cursor: pointer;
}
.sd-calendar--default-theme .sd-calendar__view-button,
.sd-calendar--default-theme .sd-calendar__nav,
.sd-calendar--default-theme button.sd-calendar__title,
.sd-calendar--default-theme .sd-calendar__nav--today,
[class$=-calendar--default-theme] .sd-calendar__view-button,
[class$=-calendar--default-theme] .sd-calendar__nav,
[class$=-calendar--default-theme] button.sd-calendar__title,
[class$=-calendar--default-theme] .sd-calendar__nav--today {
  align-self: center;
  padding: 2px 12px;
  border: 1px solid transparent;
  border-radius: 4px;
  transition: 0.3s;
}
.sd-calendar--default-theme .sd-calendar__view-button:hover,
.sd-calendar--default-theme .sd-calendar__nav:hover,
.sd-calendar--default-theme button.sd-calendar__title:hover,
.sd-calendar--default-theme .sd-calendar__nav--today:hover,
[class$=-calendar--default-theme] .sd-calendar__view-button:hover,
[class$=-calendar--default-theme] .sd-calendar__nav:hover,
[class$=-calendar--default-theme] button.sd-calendar__title:hover,
[class$=-calendar--default-theme] .sd-calendar__nav--today:hover {
  background-color: color-mix(in srgb, var(--sd-calendar-contrast-color) 12%, transparent);
}
.sd-calendar--default-theme .sd-calendar__view-button--active, .sd-calendar--default-theme .sd-calendar__view-button--active:hover,
.sd-calendar--default-theme .sd-calendar__nav--active,
.sd-calendar--default-theme .sd-calendar__nav--active:hover,
.sd-calendar--default-theme button.sd-calendar__title--active,
.sd-calendar--default-theme button.sd-calendar__title--active:hover,
.sd-calendar--default-theme .sd-calendar__nav--today--active,
.sd-calendar--default-theme .sd-calendar__nav--today--active:hover,
[class$=-calendar--default-theme] .sd-calendar__view-button--active,
[class$=-calendar--default-theme] .sd-calendar__view-button--active:hover,
[class$=-calendar--default-theme] .sd-calendar__nav--active,
[class$=-calendar--default-theme] .sd-calendar__nav--active:hover,
[class$=-calendar--default-theme] button.sd-calendar__title--active,
[class$=-calendar--default-theme] button.sd-calendar__title--active:hover,
[class$=-calendar--default-theme] .sd-calendar__nav--today--active,
[class$=-calendar--default-theme] .sd-calendar__nav--today--active:hover {
  background-color: color-mix(in srgb, var(--sd-calendar-contrast-color) 25%, transparent);
}
.sd-calendar--default-theme .sd-calendar__view-button:active,
.sd-calendar--default-theme .sd-calendar__nav:active,
.sd-calendar--default-theme button.sd-calendar__title:active,
.sd-calendar--default-theme .sd-calendar__nav--today:active,
[class$=-calendar--default-theme] .sd-calendar__view-button:active,
[class$=-calendar--default-theme] .sd-calendar__nav:active,
[class$=-calendar--default-theme] button.sd-calendar__title:active,
[class$=-calendar--default-theme] .sd-calendar__nav--today:active {
  background-color: color-mix(in srgb, var(--sd-calendar-contrast-color) 25%, transparent);
}
.sd-calendar--default-theme .sd-calendar__view-button:focus-visible,
.sd-calendar--default-theme .sd-calendar__nav:focus-visible,
.sd-calendar--default-theme button.sd-calendar__title:focus-visible,
.sd-calendar--default-theme .sd-calendar__nav--today:focus-visible,
[class$=-calendar--default-theme] .sd-calendar__view-button:focus-visible,
[class$=-calendar--default-theme] .sd-calendar__nav:focus-visible,
[class$=-calendar--default-theme] button.sd-calendar__title:focus-visible,
[class$=-calendar--default-theme] .sd-calendar__nav--today:focus-visible {
  border-color: color-mix(in srgb, var(--sd-calendar-contrast-color) 75%, transparent);
}
.sd-calendar--default-theme .sd-calendar__view-button,
[class$=-calendar--default-theme] .sd-calendar__view-button {
  font-size: 0.9em;
  text-transform: uppercase;
}
.sd-calendar--default-theme button.sd-calendar__title,
[class$=-calendar--default-theme] button.sd-calendar__title {
  line-height: 0.9;
}
.sd-calendar--default-theme .sd-calendar__nav--prev,
.sd-calendar--default-theme .sd-calendar__nav--next,
[class$=-calendar--default-theme] .sd-calendar__nav--prev,
[class$=-calendar--default-theme] .sd-calendar__nav--next {
  width: 2em;
  aspect-ratio: 1;
  border-radius: 99em;
}
.sd-calendar--default-theme .sd-calendar__nav--prev:dir(rtl),
.sd-calendar--default-theme .sd-calendar__nav--next:dir(rtl),
[class$=-calendar--default-theme] .sd-calendar__nav--prev:dir(rtl),
[class$=-calendar--default-theme] .sd-calendar__nav--next:dir(rtl) {
  transform: rotate(180deg);
}
.sd-calendar--default-theme .sd-calendar__nav--today,
[class$=-calendar--default-theme] .sd-calendar__nav--today {
  margin-right: 3px;
  padding-right: 8px;
  padding-left: 8px;
  font-size: 0.85em;
}
.sd-calendar--default-theme .sd-calendar__scrollable-wrap,
[class$=-calendar--default-theme] .sd-calendar__scrollable-wrap {
  overflow: hidden;
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 4%, transparent);
  border: 1px solid var(--sd-calendar-border-color);
  border-top: none;
  border-bottom-right-radius: var(--sd-calendar-border-radius);
  border-bottom-left-radius: var(--sd-calendar-border-radius);
}
.sd-calendar--default-theme .sd-calendar__scrollable-wrap:first-child,
[class$=-calendar--default-theme] .sd-calendar__scrollable-wrap:first-child {
  border-top-left-radius: var(--sd-calendar-border-radius);
  border-top-right-radius: var(--sd-calendar-border-radius);
}
.sd-calendar--default-theme .sd-calendar__scrollable [data-overlayscrollbars-viewport],
[class$=-calendar--default-theme] .sd-calendar__scrollable [data-overlayscrollbars-viewport] {
  display: grid;
  grid-template-columns: 1fr 0fr;
}
.sd-calendar--default-theme .sd-calendar__scrollable--no-schedules,
[class$=-calendar--default-theme] .sd-calendar__scrollable--no-schedules {
  --sd-calendar-schedules-bar-size: 0;
}
.sd-calendar--default-theme .sd-calendar__scrollable--day-view,
[class$=-calendar--default-theme] .sd-calendar__scrollable--day-view {
  --sd-calendar-weekday-bar-size: 0;
}
.sd-calendar--default-theme .sd-calendar__scrollable--month-view, .sd-calendar--default-theme .sd-calendar__scrollable--no-all-day-bar,
[class$=-calendar--default-theme] .sd-calendar__scrollable--month-view,
[class$=-calendar--default-theme] .sd-calendar__scrollable--no-all-day-bar {
  --sd-calendar-all-day-bar-size: 0;
}
.sd-calendar--default-theme .sd-calendar__scrollable--row [data-overlayscrollbars-viewport],
[class$=-calendar--default-theme] .sd-calendar__scrollable--row [data-overlayscrollbars-viewport] {
  grid-template-columns: 0fr 1fr;
}
.sd-calendar--default-theme .sd-calendar__scrollable--year-view [data-overlayscrollbars-viewport], .sd-calendar--default-theme .sd-calendar__scrollable--years-view [data-overlayscrollbars-viewport],
[class$=-calendar--default-theme] .sd-calendar__scrollable--year-view [data-overlayscrollbars-viewport],
[class$=-calendar--default-theme] .sd-calendar__scrollable--years-view [data-overlayscrollbars-viewport] {
  overflow: hidden;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal [data-overlayscrollbars-viewport],
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal [data-overlayscrollbars-viewport] {
  grid-template-rows: 1fr 0fr;
  grid-template-columns: auto;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--row [data-overlayscrollbars-viewport],
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--row [data-overlayscrollbars-viewport] {
  grid-template-rows: 0fr 1fr;
  grid-template-columns: auto;
}
.sd-calendar--default-theme .sd-calendar__scrollable--day-view .sd-calendar__body,
.sd-calendar--default-theme .sd-calendar__scrollable--days-view .sd-calendar__body,
.sd-calendar--default-theme .sd-calendar__scrollable--week-view .sd-calendar__body,
[class$=-calendar--default-theme] .sd-calendar__scrollable--day-view .sd-calendar__body,
[class$=-calendar--default-theme] .sd-calendar__scrollable--days-view .sd-calendar__body,
[class$=-calendar--default-theme] .sd-calendar__scrollable--week-view .sd-calendar__body {
  max-height: var(--sd-calendar-body-max-height, initial);
}
.sd-calendar--default-theme .sd-calendar__week-number small,
[class$=-calendar--default-theme] .sd-calendar__week-number small {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.4em;
  color: color-mix(in srgb, var(--sd-calendar-base-color) 70%, transparent);
  font-size: 0.8em;
  background-color: color-mix(in srgb, var(--sd-calendar-base-color) 8%, transparent);
  border-radius: 4px;
  aspect-ratio: 1;
}
.sd-calendar--default-theme .sd-calendar__weekday,
[class$=-calendar--default-theme] .sd-calendar__weekday {
  display: flex;
  gap: 4px;
  justify-content: center;
  padding: 2px 1px;
  overflow: hidden;
  font-size: 0.95em;
  letter-spacing: -0.03em;
  text-overflow: ellipsis;
  background-color: var(--sd-calendar-secondary-color);
}
.sd-calendar--default-theme .sd-calendar__weekday--today,
[class$=-calendar--default-theme] .sd-calendar__weekday--today {
  font-weight: bold;
}
.sd-calendar--default-theme .sd-calendar__weekday-day,
[class$=-calendar--default-theme] .sd-calendar__weekday-day {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0.8;
}
.sd-calendar--default-theme .sd-calendar__weekday-date,
[class$=-calendar--default-theme] .sd-calendar__weekday-date {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.7em;
  overflow: hidden;
  font-size: 0.9em;
  line-height: 1;
  letter-spacing: -0.1em;
  text-indent: -0.15em;
  background: color-mix(in srgb, var(--sd-calendar-base-color) 15%, transparent);
  border-radius: 99em;
  aspect-ratio: 1;
}
.sd-calendar--default-theme .sd-calendar__weekday--today .sd-calendar__weekday-date,
[class$=-calendar--default-theme] .sd-calendar__weekday--today .sd-calendar__weekday-date {
  color: var(--sd-calendar-contrast-color);
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 80%, transparent);
}
.sd-calendar--default-theme.sd-calendar--light, :not([sd-theme]) .sd-calendar--default-theme, [sd-theme=light] .sd-calendar--default-theme .sd-calendar__weekday:not(.sd-calendar__weekday--today) .sd-calendar__weekday-date,
[class$=-calendar--default-theme].sd-calendar--light,
:not([sd-theme]) [class$=-calendar--default-theme],
[sd-theme=light] [class$=-calendar--default-theme] .sd-calendar__weekday:not(.sd-calendar__weekday--today) .sd-calendar__weekday-date {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 20%, transparent);
}
.sd-calendar--default-theme .sd-calendar__scrollable--has-schedules .sd-calendar__weekday-date,
[class$=-calendar--default-theme] .sd-calendar__scrollable--has-schedules .sd-calendar__weekday-date {
  width: 1.5em;
}
.sd-calendar--default-theme .sd-calendar__schedule--heading,
[class$=-calendar--default-theme] .sd-calendar__schedule--heading {
  align-items: center;
  font-size: 12px;
}
.sd-calendar--default-theme .sd-calendar__cell,
[class$=-calendar--default-theme] .sd-calendar__cell {
  overflow: hidden;
  box-shadow: 0 0 0 0.5px var(--sd-calendar-border-color) inset;
}
.sd-calendar--default-theme.sd-calendar--lg .sd-calendar__scrollable--month-view .sd-calendar__cell,
[class$=-calendar--default-theme].sd-calendar--lg .sd-calendar__scrollable--month-view .sd-calendar__cell {
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
}
.sd-calendar--default-theme .sd-calendar__cell::before,
[class$=-calendar--default-theme] .sd-calendar__cell::before {
  position: absolute;
  z-index: -1;
  content: "";
  inset: 0;
}
.sd-calendar--default-theme.sd-calendar--light .sd-calendar__cell::before, :not([sd-theme]) .sd-calendar--default-theme .sd-calendar__cell::before, [sd-theme=light] .sd-calendar--default-theme .sd-calendar__cell::before,
[class$=-calendar--default-theme].sd-calendar--light .sd-calendar__cell::before,
:not([sd-theme]) [class$=-calendar--default-theme] .sd-calendar__cell::before,
[sd-theme=light] [class$=-calendar--default-theme] .sd-calendar__cell::before {
  filter: saturate(2);
}
.sd-calendar--default-theme .sd-calendar__cell--today::before,
.sd-calendar--default-theme .sd-calendar__cell--current-month::before,
.sd-calendar--default-theme .sd-calendar__cell--current-year::before,
[class$=-calendar--default-theme] .sd-calendar__cell--today::before,
[class$=-calendar--default-theme] .sd-calendar__cell--current-month::before,
[class$=-calendar--default-theme] .sd-calendar__cell--current-year::before {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 10%, transparent);
}
.sd-calendar--default-theme .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme] .sd-calendar__cell--selected::before {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 25%, transparent);
}
.sd-calendar--default-theme.sd-calendar--light .sd-calendar__cell--today::before,
.sd-calendar--default-theme.sd-calendar--light .sd-calendar__cell--current-month::before,
.sd-calendar--default-theme.sd-calendar--light .sd-calendar__cell--current-year::before, :not([sd-theme]) .sd-calendar--default-theme .sd-calendar__cell--today::before,
:not([sd-theme]) .sd-calendar--default-theme .sd-calendar__cell--current-month::before,
:not([sd-theme]) .sd-calendar--default-theme .sd-calendar__cell--current-year::before, [sd-theme=light] .sd-calendar--default-theme .sd-calendar__cell--today::before,
[sd-theme=light] .sd-calendar--default-theme .sd-calendar__cell--current-month::before,
[sd-theme=light] .sd-calendar--default-theme .sd-calendar__cell--current-year::before,
[class$=-calendar--default-theme].sd-calendar--light .sd-calendar__cell--today::before,
[class$=-calendar--default-theme].sd-calendar--light .sd-calendar__cell--current-month::before,
[class$=-calendar--default-theme].sd-calendar--light .sd-calendar__cell--current-year::before,
:not([sd-theme]) [class$=-calendar--default-theme] .sd-calendar__cell--today::before,
:not([sd-theme]) [class$=-calendar--default-theme] .sd-calendar__cell--current-month::before,
:not([sd-theme]) [class$=-calendar--default-theme] .sd-calendar__cell--current-year::before,
[sd-theme=light] [class$=-calendar--default-theme] .sd-calendar__cell--today::before,
[sd-theme=light] [class$=-calendar--default-theme] .sd-calendar__cell--current-month::before,
[sd-theme=light] [class$=-calendar--default-theme] .sd-calendar__cell--current-year::before {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 5%, transparent);
}
.sd-calendar--default-theme.sd-calendar--light .sd-calendar__cell--selected::before, :not([sd-theme]) .sd-calendar--default-theme .sd-calendar__cell--selected::before, [sd-theme=light] .sd-calendar--default-theme .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--light .sd-calendar__cell--selected::before,
:not([sd-theme]) [class$=-calendar--default-theme] .sd-calendar__cell--selected::before,
[sd-theme=light] [class$=-calendar--default-theme] .sd-calendar__cell--selected::before {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 10%, transparent);
}
.sd-calendar--default-theme .sd-calendar__cell-date,
[class$=-calendar--default-theme] .sd-calendar__cell-date {
  position: sticky;
  top: 0;
  font-weight: bold;
}
.sd-calendar--default-theme .sd-calendar__cell--disabled .sd-calendar__cell-date,
[class$=-calendar--default-theme] .sd-calendar__cell--disabled .sd-calendar__cell-date {
  opacity: 0.5;
}
.sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell::before,
[class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell::before {
  display: none;
}
.sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell-date,
[class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell-date {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2em;
  margin: 4px;
  padding: 4px;
  overflow: hidden;
  font-size: 13px;
  letter-spacing: -0.5px;
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 25%, transparent);
  border-radius: 99em;
  aspect-ratio: 1;
}
.sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell--today .sd-calendar__cell-date,
[class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell--today .sd-calendar__cell-date {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 60%, transparent);
}
.sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell--selected .sd-calendar__cell-date,
[class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell--selected .sd-calendar__cell-date {
  background-color: var(--sd-calendar-primary-color);
}
.sd-calendar--default-theme.sd-calendar--light:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell-date, :not([sd-theme]) .sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell-date, [sd-theme=light] .sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell-date,
[class$=-calendar--default-theme].sd-calendar--light:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell-date,
:not([sd-theme]) [class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell-date,
[sd-theme=light] [class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell-date {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 8%, transparent);
}
.sd-calendar--default-theme.sd-calendar--light:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell--today .sd-calendar__cell-date, :not([sd-theme]) .sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell--today .sd-calendar__cell-date, [sd-theme=light] .sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell--today .sd-calendar__cell-date,
[class$=-calendar--default-theme].sd-calendar--light:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell--today .sd-calendar__cell-date,
:not([sd-theme]) [class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell--today .sd-calendar__cell-date,
[sd-theme=light] [class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell--today .sd-calendar__cell-date {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 22%, transparent);
}
.sd-calendar--default-theme.sd-calendar--light:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell--selected .sd-calendar__cell-date, :not([sd-theme]) .sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell--selected .sd-calendar__cell-date, [sd-theme=light] .sd-calendar--default-theme:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell--selected .sd-calendar__cell-date,
[class$=-calendar--default-theme].sd-calendar--light:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell--selected .sd-calendar__cell-date,
:not([sd-theme]) [class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__cell--selected .sd-calendar__cell-date,
[sd-theme=light] [class$=-calendar--default-theme]:is(.sd-calendar--sm, .sd-calendar--lg) .sd-calendar__scrollable--month-view .sd-calendar__cell--selected .sd-calendar__cell-date {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 40%, transparent);
}
.sd-calendar--default-theme .sd-calendar__cell--out-of-scope .sd-calendar__cell-date,
[class$=-calendar--default-theme] .sd-calendar__cell--out-of-scope .sd-calendar__cell-date {
  opacity: 0.4;
}
.sd-calendar--default-theme .sd-calendar__scrollable--month-view .sd-calendar__cell-events,
[class$=-calendar--default-theme] .sd-calendar__scrollable--month-view .sd-calendar__cell-events {
  flex-grow: 1;
  width: 100%;
  padding-left: 4px;
  overflow: hidden;
}
.sd-calendar--default-theme.sd-calendar--timeless .sd-calendar__cell-events,
[class$=-calendar--default-theme].sd-calendar--timeless .sd-calendar__cell-events {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  padding: 4px;
}
.sd-calendar--default-theme .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--day-view .sd-calendar__cell-events,
.sd-calendar--default-theme .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--days-view .sd-calendar__cell-events,
.sd-calendar--default-theme .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--week-view .sd-calendar__cell-events,
[class$=-calendar--default-theme] .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--day-view .sd-calendar__cell-events,
[class$=-calendar--default-theme] .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--days-view .sd-calendar__cell-events,
[class$=-calendar--default-theme] .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--week-view .sd-calendar__cell-events {
  position: absolute;
  inset: 0 8px 0 0;
}
.sd-calendar--default-theme .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--day-view .sd-calendar__cell-events:dir(rtl),
.sd-calendar--default-theme .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--days-view .sd-calendar__cell-events:dir(rtl),
.sd-calendar--default-theme .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--week-view .sd-calendar__cell-events:dir(rtl),
[class$=-calendar--default-theme] .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--day-view .sd-calendar__cell-events:dir(rtl),
[class$=-calendar--default-theme] .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--days-view .sd-calendar__cell-events:dir(rtl),
[class$=-calendar--default-theme] .sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--week-view .sd-calendar__cell-events:dir(rtl) {
  inset: 0 0 0 8px;
}
.sd-calendar--default-theme .sd-calendar__all-day .sd-calendar__cell-events,
[class$=-calendar--default-theme] .sd-calendar__all-day .sd-calendar__cell-events {
  width: 100%;
  inset: 0;
}
.sd-calendar--default-theme .sd-calendar__time-cell,
[class$=-calendar--default-theme] .sd-calendar__time-cell {
  display: flex;
  justify-content: flex-end;
  min-width: fit-content;
  white-space: nowrap;
}
.sd-calendar--default-theme .sd-calendar__time-cell-label,
[class$=-calendar--default-theme] .sd-calendar__time-cell-label {
  z-index: 1;
  align-self: flex-start;
  width: 98%;
  margin-top: -7.5px;
  padding-right: 2px;
  color: color-mix(in srgb, var(--sd-calendar-base-color) 50%, transparent);
  font-size: 11px;
  letter-spacing: -0.5px;
  background: var(--sd-calendar-secondary-color);
}
.sd-calendar--default-theme .sd-calendar__time-cell:nth-child(1) .sd-calendar__time-cell-label,
[class$=-calendar--default-theme] .sd-calendar__time-cell:nth-child(1) .sd-calendar__time-cell-label {
  margin-top: -1px;
  font-size: 10px;
  background: none;
}
.sd-calendar--default-theme .sd-calendar__current-time,
[class$=-calendar--default-theme] .sd-calendar__current-time {
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 4px;
  font-size: 10px;
  line-height: 1;
  border-radius: 99em;
  transform: translate(-50%, -50%);
  backdrop-filter: blur(8px);
  pointer-events: none;
}
.sd-calendar--default-theme .sd-calendar__event,
[class$=-calendar--default-theme] .sd-calendar__event {
  z-index: 1;
  display: flex;
  width: 90%;
  color: var(--sd-calendar-event-color);
  line-height: 1;
  background-color: var(--sd-calendar-primary-extra-color);
  border: 1px solid var(--sd-calendar-event-border-color);
  border-radius: 4px;
}
.sd-calendar--default-theme .sd-calendar__event--background,
[class$=-calendar--default-theme] .sd-calendar__event--background {
  z-index: 0;
  width: 100%;
  overflow: visible;
  border: none;
  border-radius: 0;
}
.sd-calendar--default-theme .sd-calendar__event--cut-top,
[class$=-calendar--default-theme] .sd-calendar__event--cut-top {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.sd-calendar--default-theme .sd-calendar__event--cut-bottom,
[class$=-calendar--default-theme] .sd-calendar__event--cut-bottom {
  border-bottom: none;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.sd-calendar--default-theme .sd-calendar__event--cut-left,
[class$=-calendar--default-theme] .sd-calendar__event--cut-left {
  border-left: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.sd-calendar--default-theme .sd-calendar__event--cut-right,
[class$=-calendar--default-theme] .sd-calendar__event--cut-right {
  border-right: none;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.sd-calendar--default-theme .sd-calendar__event:not(.sd-calendar__event--background):hover,
[class$=-calendar--default-theme] .sd-calendar__event:not(.sd-calendar__event--background):hover {
  z-index: 3;
}
.sd-calendar--default-theme .sd-calendar__event-details,
[class$=-calendar--default-theme] .sd-calendar__event-details {
  flex-grow: 1;
  padding: 2px;
  overflow: hidden;
  font-size: 12px;
}
.sd-calendar--default-theme .sd-calendar__event-time,
[class$=-calendar--default-theme] .sd-calendar__event-time {
  font-size: 11px;
  line-height: 1;
  letter-spacing: -0.5px;
  white-space: nowrap;
}
.sd-calendar--default-theme .sd-calendar__event-comma,
[class$=-calendar--default-theme] .sd-calendar__event-comma {
  padding-right: 4px;
}
.sd-calendar--default-theme .sd-calendar__event-resizer,
[class$=-calendar--default-theme] .sd-calendar__event-resizer {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  inset: auto -1px -1px;
}
.sd-calendar--default-theme .sd-calendar__event-delete,
[class$=-calendar--default-theme] .sd-calendar__event-delete {
  position: absolute;
  top: -5px;
  right: -5px;
  width: 1.5em;
  padding: 2px;
  color: transparent;
  font-size: 0.8em;
  background-color: rgb(var(--sd-danger-6));
  border: 1px solid color-mix(in srgb, var(--sd-calendar-contrast-color) 50%, transparent);
  border-radius: 99em;
  cursor: pointer;
  aspect-ratio: 1;
}
.sd-calendar--default-theme .sd-calendar__event-delete::before, .sd-calendar--default-theme .sd-calendar__event-delete::after,
[class$=-calendar--default-theme] .sd-calendar__event-delete::before,
[class$=-calendar--default-theme] .sd-calendar__event-delete::after {
  position: absolute;
  top: 50%;
  right: 20%;
  left: 20%;
  height: 2px;
  background-color: var(--sd-calendar-event-color);
  border-radius: 99em;
  content: "";
}
.sd-calendar--default-theme .sd-calendar__event-delete::before,
[class$=-calendar--default-theme] .sd-calendar__event-delete::before {
  transform: translateY(-50%) rotate(45deg);
}
.sd-calendar--default-theme .sd-calendar__event-delete::after,
[class$=-calendar--default-theme] .sd-calendar__event-delete::after {
  transform: translateY(-50%) rotate(-45deg);
}
.sd-calendar--default-theme.sd-calendar--timeless .sd-calendar__event,
[class$=-calendar--default-theme].sd-calendar--timeless .sd-calendar__event {
  position: relative;
  width: 100%;
}
.sd-calendar--default-theme .sd-calendar__scrollable--month-view .sd-calendar__event,
[class$=-calendar--default-theme] .sd-calendar__scrollable--month-view .sd-calendar__event {
  width: 100%;
  padding-top: 1px;
  padding-bottom: 1px;
}
.sd-calendar--default-theme .sd-calendar__scrollable--month-view .sd-calendar__event-details,
[class$=-calendar--default-theme] .sd-calendar__scrollable--month-view .sd-calendar__event-details {
  display: flex;
  padding-top: 1px;
  padding-bottom: 1px;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal {
  --sd-calendar-weekday-bar-size: 6rem;
  --sd-calendar-schedules-bar-size: 4rem;
  --sd-calendar-all-day-bar-size: 8rem;
  --sd-calendar-min-cell-size: 20rem;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-schedules,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-schedules {
  --sd-calendar-schedules-bar-size: 0;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view {
  --sd-calendar-weekday-bar-size: 0;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--month-view, .sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-all-day-bar,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--month-view,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-all-day-bar {
  --sd-calendar-all-day-bar-size: 0;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__time-column,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__time-column {
  height: 25px;
  border-right: none;
  border-bottom: 0.5px solid var(--sd-calendar-border-color);
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__all-day-label,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__all-day-label {
  border-right: 0.5px solid var(--sd-calendar-border-color);
  border-bottom: none;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__time-cell,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__time-cell {
  justify-content: flex-start;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__time-cell::before,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__time-cell::before {
  top: auto;
  bottom: 0;
  left: 0;
  width: 0;
  height: 5px;
  border-top: none;
  border-left: 0.5px solid var(--sd-calendar-border-color);
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__time-cell label,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__time-cell label {
  padding: 0;
  line-height: 1;
  transform: translateX(-50%);
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view.sd-calendar__scrollable--no-schedules .sd-calendar__time-cell:first-child label, .sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--has-all-day-bar .sd-calendar__time-cell:not(.sd-calendar__time-cell + .sd-calendar__time-cell) label,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view.sd-calendar__scrollable--no-schedules .sd-calendar__time-cell:first-child label,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--has-all-day-bar .sd-calendar__time-cell:not(.sd-calendar__time-cell + .sd-calendar__time-cell) label {
  display: none;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__weekdays-headings,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__weekdays-headings {
  text-align: right;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__weekday,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__weekday {
  justify-content: flex-end;
  padding: 0 6px;
  box-shadow: 0 0 0 0.5px var(--sd-calendar-border-color) inset;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__all-day-resizer,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__all-day-resizer {
  right: 0;
  bottom: 0;
  width: 1px;
  height: 100%;
  cursor: col-resize;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__all-day-resizer::before,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__all-day-resizer::before {
  inset: 0 -5px;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__now-line,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__now-line {
  z-index: 3;
  border-color: color-mix(in srgb, rgb(var(--sd-danger-6)) 60%, transparent);
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__now-line::before,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__now-line::before {
  top: auto;
  bottom: 0;
  left: -6px;
  border-bottom-color: inherit;
  border-left-color: transparent;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__now-line span,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__now-line span {
  left: 2px;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--day-view .sd-calendar__cell-events, .sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--days-view .sd-calendar__cell-events, .sd-calendar--default-theme .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--week-view .sd-calendar__cell-events,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--day-view .sd-calendar__cell-events,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--days-view .sd-calendar__cell-events,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--no-schedules.sd-calendar__scrollable--week-view .sd-calendar__cell-events {
  inset: 0 0 8px;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__all-day .sd-calendar__cell-events,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__all-day .sd-calendar__cell-events {
  width: 90%;
  margin: 1px auto 0 1px;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__event,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__event {
  width: auto;
  height: 90%;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__event-resizer,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__event-resizer {
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: 0;
  inset: -1px -1px -1px auto;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__all-day .sd-calendar__event,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__all-day .sd-calendar__event {
  height: auto;
}
.sd-calendar--default-theme .sd-calendar__scrollable--horizontal .sd-calendar__schedule--heading,
[class$=-calendar--default-theme] .sd-calendar__scrollable--horizontal .sd-calendar__schedule--heading {
  justify-content: flex-end;
  padding-right: 6px;
  box-shadow: 0 0 0 0.5px var(--sd-calendar-border-color) inset;
}
.sd-calendar--default-theme.sd-calendar--sm .sd-calendar__view-button,
.sd-calendar--default-theme.sd-calendar--sm .sd-calendar__nav,
.sd-calendar--default-theme.sd-calendar--sm .sd-calendar__title button,
.sd-calendar--default-theme.sd-calendar--sm .sd-calendar__nav--today,
[class$=-calendar--default-theme].sd-calendar--sm .sd-calendar__view-button,
[class$=-calendar--default-theme].sd-calendar--sm .sd-calendar__nav,
[class$=-calendar--default-theme].sd-calendar--sm .sd-calendar__title button,
[class$=-calendar--default-theme].sd-calendar--sm .sd-calendar__nav--today {
  padding-right: 8px;
  padding-left: 8px;
}
.sd-calendar--default-theme.sd-calendar--xs,
[class$=-calendar--default-theme].sd-calendar--xs {
  width: 350px;
  height: 250px;
}
.sd-calendar--default-theme.sd-calendar--xs .sd-calendar__view-button,
.sd-calendar--default-theme.sd-calendar--xs .sd-calendar__nav,
.sd-calendar--default-theme.sd-calendar--xs .sd-calendar__title button,
.sd-calendar--default-theme.sd-calendar--xs .sd-calendar__nav--today,
[class$=-calendar--default-theme].sd-calendar--xs .sd-calendar__view-button,
[class$=-calendar--default-theme].sd-calendar--xs .sd-calendar__nav,
[class$=-calendar--default-theme].sd-calendar--xs .sd-calendar__title button,
[class$=-calendar--default-theme].sd-calendar--xs .sd-calendar__nav--today {
  padding-right: 4px;
  padding-left: 4px;
}
.sd-calendar--default-theme.sd-calendar--xs .sd-calendar__title,
[class$=-calendar--default-theme].sd-calendar--xs .sd-calendar__title {
  gap: 4px;
}
.sd-calendar--default-theme.sd-calendar--xs .sd-calendar__title small,
[class$=-calendar--default-theme].sd-calendar--xs .sd-calendar__title small {
  padding-right: 3px;
  padding-left: 3px;
}
.sd-calendar--default-theme.sd-calendar--xs .sd-calendar__body,
[class$=-calendar--default-theme].sd-calendar--xs .sd-calendar__body {
  width: 100%;
}
.sd-calendar--default-theme.sd-calendar--xs .sd-calendar__scrollable--year-view .sd-calendar__body,
.sd-calendar--default-theme.sd-calendar--xs .sd-calendar__scrollable--years-view .sd-calendar__body,
[class$=-calendar--default-theme].sd-calendar--xs .sd-calendar__scrollable--year-view .sd-calendar__body,
[class$=-calendar--default-theme].sd-calendar--xs .sd-calendar__scrollable--years-view .sd-calendar__body {
  margin: auto;
}
.sd-calendar--default-theme.sd-calendar--date-picker,
[class$=-calendar--default-theme].sd-calendar--date-picker {
  width: 210px;
  font-size: 12px;
}
.sd-calendar--default-theme.sd-calendar--date-picker:has(.sd-calendar__views-bar),
[class$=-calendar--default-theme].sd-calendar--date-picker:has(.sd-calendar__views-bar) {
  height: 260px;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__views-bar,
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__title-bar,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__views-bar,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__title-bar {
  height: 2em;
  padding-top: 2px;
  padding-bottom: 2px;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__title-bar,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__title-bar {
  padding-right: 0.3em;
  padding-left: 0.3em;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__nav--today,
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__view-button,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__nav--today,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__view-button {
  font-size: 0.9em;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__nav--prev,
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__nav--next,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__nav--prev,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__nav--next {
  width: 1.6em;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__nav--prev::before,
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__nav--next::before,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__nav--prev::before,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__nav--next::before {
  padding: 0.22em;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__weekday,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__weekday {
  font-size: 0.95em;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__body,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__body {
  gap: 2px;
  padding: 2px;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--year-view .sd-calendar__body,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--year-view .sd-calendar__body {
  gap: 0.8em;
  padding: 0.6em;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--month-view .sd-calendar__body,
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--year-view .sd-calendar__body,
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--years-view .sd-calendar__body,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--month-view .sd-calendar__body,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--year-view .sd-calendar__body,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--years-view .sd-calendar__body {
  align-items: center;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__cell,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__cell {
  font-weight: bold;
  font-size: 1em;
  border-radius: 99em;
  box-shadow: none;
  aspect-ratio: 1;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--day-view .sd-calendar__cell,
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--days-view .sd-calendar__cell,
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--week-view .sd-calendar__cell,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--day-view .sd-calendar__cell,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--days-view .sd-calendar__cell,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--week-view .sd-calendar__cell {
  font-weight: normal;
  border-radius: 0;
  aspect-ratio: initial;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--years-view .sd-calendar__cell,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--years-view .sd-calendar__cell {
  padding: 6px;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--month-view .sd-calendar__cell,
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--years-view .sd-calendar__cell,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--month-view .sd-calendar__cell,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--years-view .sd-calendar__cell {
  font-size: 0.9em;
}
.sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__cell-date,
[class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__cell-date {
  font-weight: bold;
}
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--dark .sd-calendar__cell--today::before, .sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--dark .sd-calendar__cell--current-month::before, .sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--dark .sd-calendar__cell--current-year::before, [sd-theme=dark] .sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__cell--today::before, [sd-theme=dark] .sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__cell--current-month::before, [sd-theme=dark] .sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__cell--current-year::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--dark .sd-calendar__cell--today::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--dark .sd-calendar__cell--current-month::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--dark .sd-calendar__cell--current-year::before,
[sd-theme=dark] [class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__cell--today::before,
[sd-theme=dark] [class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__cell--current-month::before,
[sd-theme=dark] [class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__cell--current-year::before {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 50%, transparent);
}
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--dark .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before, .sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--dark .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before, .sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--dark .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before, [sd-theme=dark] .sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before, [sd-theme=dark] .sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before, [sd-theme=dark] .sd-calendar--default-theme.sd-calendar--date-picker .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--dark .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--dark .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--dark .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before,
[sd-theme=dark] [class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
[sd-theme=dark] [class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
[sd-theme=dark] [class$=-calendar--default-theme].sd-calendar--date-picker .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before {
  background-color: var(--sd-calendar-primary-color);
}
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--light .sd-calendar__cell--today::before,
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--light .sd-calendar__cell--current-month::before,
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--light .sd-calendar__cell--current-year::before, .sd-calendar--default-theme.sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar__cell--today::before,
.sd-calendar--default-theme.sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar__cell--current-month::before,
.sd-calendar--default-theme.sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar__cell--current-year::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--light .sd-calendar__cell--today::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--light .sd-calendar__cell--current-month::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--light .sd-calendar__cell--current-year::before,
[class$=-calendar--default-theme].sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar__cell--today::before,
[class$=-calendar--default-theme].sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar__cell--current-month::before,
[class$=-calendar--default-theme].sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar__cell--current-year::before {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 12%, transparent);
}
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--light .sd-calendar--dark .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--light .sd-calendar--dark .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--light .sd-calendar--dark .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--light [sd-theme=dark] .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--light [sd-theme=dark] .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker.sd-calendar--light [sd-theme=dark] .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before, .sd-calendar--default-theme.sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar--dark .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar--dark .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar--dark .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) [sd-theme=dark] .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) [sd-theme=dark] .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
.sd-calendar--default-theme.sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) [sd-theme=dark] .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--light .sd-calendar--dark .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--light .sd-calendar--dark .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--light .sd-calendar--dark .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--light [sd-theme=dark] .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--light [sd-theme=dark] .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker.sd-calendar--light [sd-theme=dark] .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar--dark .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar--dark .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) .sd-calendar--dark .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) [sd-theme=dark] .sd-calendar__scrollable--month-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) [sd-theme=dark] .sd-calendar__scrollable--year-view .sd-calendar__cell--selected::before,
[class$=-calendar--default-theme].sd-calendar--date-picker:not([class*="--dark"]):not([sd-theme=dark] *) [sd-theme=dark] .sd-calendar__scrollable--years-view .sd-calendar__cell--selected::before {
  background-color: color-mix(in srgb, var(--sd-calendar-primary-color) 28%, transparent);
}

@media (width <= 500px) {
  .sd-calendar--default-theme .sd-calendar__view-button,
  .sd-calendar--default-theme .sd-calendar__nav,
  .sd-calendar--default-theme button.sd-calendar__title,
  .sd-calendar--default-theme .sd-calendar__nav--today {
    padding-right: 6px;
    padding-left: 6px;
  }
}
.sd-calendar__header {
  position: relative;
  user-select: none;
}

.sd-calendar__views-bar {
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
}

.sd-calendar__title-bar {
  display: flex;
}

.sd-calendar__header .sd-calendar__transition-wrap {
  position: relative;
  flex-grow: 1;
  min-height: 1px;
}
.sd-calendar__header .sd-calendar__transition-wrap > div {
  position: absolute;
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  inset: 0;
}

.sd-calendar__title {
  position: relative;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  margin: auto;
  font-weight: bold;
  font-size: 1.05em;
  font-family: inherit;
}
.sd-calendar__title small {
  display: inline-flex;
  padding: 2px 6px;
  font-weight: normal;
  font-size: 0.8em;
  background: color-mix(in srgb, var(--sd-calendar-base-color) 15%, transparent);
  border-radius: 4px;
}

.sd-calendar__header nav {
  background-color: color-mix(in srgb, var(--sd-calendar-contrast-color) 20%, transparent);
}

.sd-calendar__nav {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sd-calendar__nav--today {
  position: relative;
  display: flex;
  align-items: center;
}
.sd-calendar__nav--today[disabled] {
  cursor: default;
}
.sd-calendar__nav--today.sd-calendar__nav--default {
  text-transform: uppercase;
}
.sd-calendar__nav--prev.sd-calendar__nav--default::before, .sd-calendar__nav--next.sd-calendar__nav--default::before {
  padding: 0.25em;
  border: solid currentcolor;
  border-width: 0 2px 2px 0;
  transform: translateX(-1px) rotate(-45deg);
  content: "";
}
.sd-calendar__nav--prev.sd-calendar__nav--default::before {
  border-width: 2px 0 0 2px;
  transform: translateX(1px) rotate(-45deg);
}

.sd-calendar__body {
  position: relative;
  display: grid;
  grid-template-rows: repeat(var(--sd-calendar-grid-rows), 1fr);
  grid-template-columns: repeat(var(--sd-calendar-grid-columns), 1fr);
  height: 100%;
}

.sd-calendar__time-at-cursor {
  position: absolute;
  right: 0;
  left: 0;
  z-index: 10;
  border-top: 1px dashed var(--sd-calendar-border-color);
  pointer-events: none;
}
.sd-calendar__time-at-cursor label {
  position: absolute;
  top: 0;
  right: 100%;
  display: block;
  margin-right: 4px;
  padding: 0 3px;
  font-size: 0.7rem;
  letter-spacing: -0.04em;
  border-radius: 99em;
  transform: translateY(-50%);
  backdrop-filter: blur(10px);
}
.sd-calendar__scrollable--horizontal .sd-calendar__time-at-cursor {
  inset: 0 auto;
  border-top: none;
  border-left: 1px dashed var(--sd-calendar-border-color);
}
.sd-calendar__scrollable--horizontal .sd-calendar__time-at-cursor label {
  inset: auto auto 100% 50%;
  margin-right: 0;
  margin-bottom: 4px;
  transform: translateX(-50%);
}

.sd-calendar__headings {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  height: calc(var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size) + var(--sd-calendar-all-day-bar-size));
  white-space: nowrap;
  background-color: var(--sd-calendar-secondary-color);
}
.sd-calendar__scrollable--horizontal .sd-calendar__headings {
  left: 0;
  flex-direction: row;
  width: calc(var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size) + var(--sd-calendar-all-day-bar-size));
  height: 100%;
}

.sd-calendar__weekdays-headings {
  display: flex;
}

.sd-calendar__weekday {
  flex: 1 1 0;
  align-items: center;
  background-color: inherit;
}
.sd-calendar__scrollable--day-view .sd-calendar__weekday, .sd-calendar__scrollable--days-view .sd-calendar__weekday, .sd-calendar__scrollable--week-view .sd-calendar__weekday {
  min-width: var(--sd-calendar-min-cell-size, 0);
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__weekday, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__weekday, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__weekday {
  min-width: 0;
  min-height: var(--sd-calendar-min-cell-size, 0);
}

.sd-calendar__all-day {
  position: relative;
  display: flex;
  flex-grow: 1;
  height: var(--sd-calendar-all-day-bar-size);
}

.sd-calendar__all-day-cell {
  display: flex;
  flex: 1 1 0;
  background-color: var(--sd-calendar-secondary-color);
}

.sd-calendar__all-day-resizer {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 10;
  width: 100%;
  height: 1px;
  background-color: var(--sd-calendar-secondary-color);
  cursor: row-resize;
}
.sd-calendar__all-day-resizer:hover {
  height: 2px;
  background-color: var(--sd-calendar-primary-color);
}
.sd-calendar__all-day-resizer::before {
  position: absolute;
  content: "";
  inset: -5px 0;
}

.sd-calendar__time-column {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-self: flex-start;
  padding-top: calc(var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size) + var(--sd-calendar-all-day-bar-size));
  background-color: var(--sd-calendar-secondary-color);
  border-right: 0.5px solid var(--sd-calendar-border-color);
}

.sd-calendar__time-column-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.sd-calendar__time-column-inner .sd-calendar__time-cell:first-child {
  margin-block-start: 0.5em;
}

.sd-calendar__all-day-label {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size) + var(--sd-calendar-all-day-bar-size));
  margin-top: calc((var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size) + var(--sd-calendar-all-day-bar-size)) * -1);
  padding-top: calc(var(--sd-calendar-weekday-bar-size) + var(--sd-calendar-schedules-bar-size));
  font-size: 0.85em;
  line-height: 1;
  background: var(--sd-calendar-secondary-color);
  border-bottom: 1px solid var(--sd-calendar-border-color);
}

.sd-calendar__time-cell {
  position: relative;
  display: flex;
  flex: 1 0 auto;
  height: var(--sd-calendar-time-cell-size);
  font-size: 0.85em;
}
.sd-calendar__time-cell::before {
  position: absolute;
  top: 0.5px;
  right: 0;
  width: 5px;
  border-top: 0.5px solid var(--sd-calendar-border-color);
  content: "";
}
.sd-calendar__time-cell label {
  padding-right: 8px;
  padding-left: 4px;
  line-height: 0;
  opacity: 0.5;
}
.sd-calendar__scrollable--day-view.sd-calendar__scrollable--no-schedules .sd-calendar__time-cell:first-child label, .sd-calendar__scrollable--has-all-day-bar .sd-calendar__time-cell:not(.sd-calendar__time-cell + .sd-calendar__time-cell) label {
  margin-top: 0.5em;
  font-size: 0.9em;
  opacity: 0.4;
}

.sd-calendar__current-time {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sd-calendar__cell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
}
.sd-calendar__scrollable--day-view .sd-calendar__cell, .sd-calendar__scrollable--days-view .sd-calendar__cell, .sd-calendar__scrollable--week-view .sd-calendar__cell {
  min-width: var(--sd-calendar-min-cell-size, 0);
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__cell, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__cell, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__cell {
  min-width: 0;
  min-height: var(--sd-calendar-min-cell-size, 0);
}
.sd-calendar__scrollable--day-view .sd-calendar__cell--has-schedules, .sd-calendar__scrollable--days-view .sd-calendar__cell--has-schedules, .sd-calendar__scrollable--week-view .sd-calendar__cell--has-schedules {
  min-width: max(var(--sd-calendar-min-cell-size), var(--sd-calendar-min-schedule-size, 0px) * var(--sd-calendar-schedules-count, 0));
}
.sd-calendar__scrollable--horizontal.sd-calendar__scrollable--day-view .sd-calendar__cell--has-schedules, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--days-view .sd-calendar__cell--has-schedules, .sd-calendar__scrollable--horizontal.sd-calendar__scrollable--week-view .sd-calendar__cell--has-schedules {
  min-width: 0;
  min-height: max(var(--sd-calendar-min-cell-size), var(--sd-calendar-min-schedule-size, 0px) * var(--sd-calendar-schedules-count, 0));
}
.sd-calendar__cell--has-schedules {
  align-items: stretch;
}
.sd-calendar__cell--out-of-range {
  opacity: 0.4;
}
.sd-calendar__cell--disabled {
  cursor: not-allowed;
}
.sd-calendar--view-has-time .sd-calendar__cell::before {
  position: absolute;
  background-image: linear-gradient(0deg, var(--sd-calendar-border-color) 0, transparent 1px var(--sd-calendar-time-cell-size));
  background-position: 0 1px;
  background-size: 100% var(--sd-calendar-time-cell-size);
  content: "";
  inset: 0;
}
.sd-calendar--view-has-time.sd-calendar--horizontal .sd-calendar__cell::before {
  background-image: linear-gradient(90deg, var(--sd-calendar-border-color) 0, transparent 1px var(--sd-calendar-time-cell-size));
  background-position: 0 1px;
  background-size: var(--sd-calendar-time-cell-size) 100%;
}

.sd-calendar__special-hours {
  position: absolute;
  right: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.sd-calendar--horizontal .sd-calendar__special-hours {
  inset: 0 auto;
  flex-direction: row;
}

.sd-calendar__now-line {
  position: absolute;
  left: 0;
  z-index: 3;
  width: 100%;
  height: 0;
  border-color: rgba(255, 0, 0, 0.6);
  border-top: 1px solid;
}
.sd-calendar__now-line::before {
  position: absolute;
  top: -6px;
  left: 0;
  border: 5px solid transparent;
  border-left-color: inherit;
  content: "";
}
.sd-calendar__now-line span {
  position: absolute;
  right: 1px;
  font-size: 10px;
  opacity: 0.7;
  pointer-events: none;
}

.sd-calendar__event-placeholder {
  position: absolute;
  right: 0;
  left: 0;
  padding-top: 2px;
  padding-left: 4px;
  font-size: 11px;
  line-height: 1;
  background-color: rgb(35, 181, 181);
  border-radius: 4px;
}
.sd-calendar--horizontal .sd-calendar__event-placeholder {
  inset: 0 auto;
}

.sd-calendar__event {
  position: absolute;
  right: 0;
  left: 0;
}
.sd-calendar__event--resizing {
  z-index: 100;
}
.sd-calendar__event--dragging-ghost {
  z-index: 100;
}
.sd-calendar__event--dragging-original {
  opacity: 0;
  transition: opacity 0.1s;
}
.sd-calendar__scrollable--month-view .sd-calendar__event, .sd-calendar__all-day .sd-calendar__event {
  position: relative;
}
.sd-calendar__event-resizer {
  position: absolute;
  height: 8px;
  background-color: var(--sd-calendar-contrast-color);
  cursor: ns-resize;
  opacity: 0.1;
  transition: 0.25s;
  inset: auto 0 0;
}
.sd-calendar__event-resizer:hover {
  opacity: 0.25;
}
.sd-calendar--horizontal .sd-calendar__event-resizer, [class*=-calendar--horizontal] .sd-calendar__event-resizer {
  width: 8px;
  height: auto;
  cursor: ew-resize;
  inset: 0 0 0 auto;
}

[class*=-calendar-delete-btn-enter-active] {
  transition: 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[class*=-calendar-delete-btn-enter-from] {
  transform: scale(0.5) rotate(-90deg);
}

[class*=-calendar-delete-btn-enter-to] {
  transform: scale(1);
}

[class*=-calendar-delete-btn-leave-active] {
  transform: scale(0.5);
  transition: 0.3s ease-in-out;
}