.sf-calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: calc(var(--sf-spacing) * 31.25);
  padding: var(--sf-spacing-8) var(--sf-spacing-12);
  position: relative;
}
.sf-calendar-header .sf-radius-full {
  border-radius: var(--sf-radius-full);
}
.sf-calendar-header .sf-calendar-title {
  font-weight: var(--sf-font-weight-medium);
  font-size: var(--sf-font-size-sm);
  line-height: var(--sf-line-height-sm);
  letter-spacing: var(--sf-letter-spacing-wide);
}
.sf-calendar-decade .sf-calendar-title {
  cursor: default;
}
.sf-calendar-icon {
  display: flex;
  align-items: center;
  gap: var(--sf-spacing-8);
}
.sf-calendar-content-table {
  padding: var(--sf-spacing-0) var(--sf-spacing-8) var(--sf-spacing-8) var(--sf-spacing-8);
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}
.sf-calendar .sf-cell {
  cursor: pointer;
  text-align: center;
}
.sf-calendar-month .sf-cell {
  height: var(--sf-spacing-40);
  padding: var(--sf-spacing-2);
}
.sf-calendar .sf-day {
  height: var(--sf-spacing-40);
  line-height: var(--sf-spacing-40);
  width: var(--sf-spacing-40);
  display: inline-block;
  font-size: var(--sf-font-size-sm);
}
.sf-calendar-year .sf-day,
.sf-calendar-decade .sf-day {
  display: inline-block;
  font-size: var(--sf-font-size-sm);
  font-weight: normal;
  height: var(--sf-spacing-72);
  line-height: var(--sf-spacing-72);
  width: var(--sf-spacing-72);
  white-space: nowrap;
}
.sf-calendar-footer {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  padding: var(--sf-spacing-8) var(--sf-spacing-12);
}
.sf-calendar {
  border-radius: var(--sf-radius-8);
  display: block;
  overflow: auto;
  user-select: none;
  min-width: 300px;
  width: calc(var(--sf-spacing) * 20);
}
.sf-calendar .sf-week-header {
  cursor: default;
  font-size: var(--sf-font-size-sm);
  font-weight: normal;
  text-align: center;
  height: var(--sf-spacing-40);
  text-transform: none;
  border-bottom: 0;
}
.sf-calendar .sf-calendar-toolbar {
  overflow-wrap: break-word;
  padding: var(--sf-spacing-24);
  font-size: var(--sf-font-size-2xl);
  font-weight: var(--sf-font-weight-medium);
  min-width: 150px;
}
.sf-calendar.sf-orientation {
  display: flex;
  min-width: 300px;
  width: calc(var(--sf-spacing) * 30.25);
}
.sf-calendar.sf-week-number {
  width: calc(var(--sf-spacing) * 22.75);
}
.sf-calendar-header-lg {
  max-width: 100%;
  min-width: calc(var(--sf-spacing) * 33.75);
}
.sf-calendar-header-lg.sf-week-number {
  min-width: calc(var(--sf-spacing) * 37.8125);
}
.sf-calendar-header-lg.sf-orientation {
  min-width: calc(var(--sf-spacing) * 43.125);
}
.sf-calendar-header-lg.sf-orientation.sf-week-number {
  min-width: calc(var(--sf-spacing) * 46.875);
}
.sf-calendar-content-table:focus-within .sf-selected.sf-focused-date .sf-day,
.sf-calendar-content-table:focus-within .sf-focused-date .sf-day {
  box-shadow: 0 0 0 1px rgba(var(--sf-color-primary));
}
.sf-calendar-toolbar {
  background: linear-gradient(0deg, rgba(var(--sf-color-primary), 0.05), rgba(var(--sf-color-primary), 0.05)), rgba(var(--sf-color-surface));
}
.sf-calendar {
  background: linear-gradient(0deg, rgba(var(--sf-color-surface), 1), rgba(var(--sf-color-surface), 1)), rgba(var(--sf-color-surface));
  border: 1px solid rgba(var(--sf-color-outline-variant));
  box-shadow: none;
}
.sf-calendar .sf-in-range:not(.sf-other-month):not(.sf-selected) {
  background: linear-gradient(0deg, rgba(var(--sf-color-primary), 0.08), rgba(var(--sf-color-primary), 0.08)), rgba(var(--sf-color-surface));
}
.sf-calendar .sf-day {
  color: rgba(var(--sf-color-on-surface));
}
.sf-calendar .sf-other-year .sf-day,
.sf-calendar .sf-other-month:not(.sf-selected) .sf-day {
  color: rgba(var(--sf-color-on-surface-variant), 0.84);
}
.sf-calendar .sf-focused-date .sf-day {
  background: rgba(var(--sf-color-on-surface), 0.1);
  border: none;
  border-radius: var(--sf-radius-full);
  color: rgba(var(--sf-color-on-surface));
}
.sf-calendar .sf-focused-date.sf-selected-date {
  box-shadow: 0 0 0 1px rgba(var(--sf-color-primary));
}
.sf-calendar .sf-cell:hover .sf-day {
  background: rgba(var(--sf-color-on-surface), 0.1);
  border: none;
  border-radius: var(--sf-radius-full);
  color: rgba(var(--sf-color-on-surface));
}
.sf-calendar .sf-cell:focus .sf-day {
  background: rgba(var(--sf-color-primary));
  color: rgba(var(--sf-color-on-primary));
  border: none;
  border-radius: var(--sf-radius-full);
}
.sf-calendar .sf-cell:active .sf-day {
  background: rgba(var(--sf-color-on-surface), 0.1);
  color: rgb(var(--sf-color-on-surface));
  border: none;
  border-radius: var(--sf-radius-full);
}
.sf-calendar .sf-today .sf-day {
  background: transparent;
  border: 1px solid rgba(var(--sf-color-primary));
  border-radius: var(--sf-radius-full);
  box-shadow: none;
  color: rgba(var(--sf-color-primary));
}
.sf-calendar .sf-today:hover .sf-day, .sf-calendar .sf-today:focus .sf-day, .sf-calendar .sf-today.sf-focused-date:not(.sf-selected) .sf-day {
  background: rgba(var(--sf-color-primary), 0.08);
  border: 1px solid rgba(var(--sf-color-primary));
  border-radius: var(--sf-radius-full);
  box-shadow: none;
  color: rgba(var(--sf-color-primary));
}
.sf-calendar .sf-today:active .sf-day {
  background: rgba(var(--sf-color-primary), 0.08);
  color: rgba(var(--sf-color-primary));
  border-radius: var(--sf-radius-full);
}
.sf-calendar .sf-selected .sf-day {
  background: rgba(var(--sf-color-primary));
  border: 1px solid rgba(var(--sf-color-primary));
  border-radius: var(--sf-radius-full);
  box-shadow: none;
  color: rgba(var(--sf-color-on-primary));
}
.sf-calendar .sf-selected:hover .sf-day, .sf-calendar .sf-selected.sf-focused-date .sf-day {
  background: rgba(var(--sf-color-primary));
  color: rgba(var(--sf-color-on-primary));
  border: 1px solid rgba(var(--sf-color-primary));
  box-shadow: none;
}
.sf-calendar .sf-selected:active .sf-day {
  background: rgba(var(--sf-color-primary));
  color: rgba(var(--sf-color-on-primary));
  border: 1px solid rgba(var(--sf-color-primary));
  box-shadow: none;
}
.sf-calendar .sf-week-number {
  color: rgba(var(--sf-color-on-surface-variant), 0.84);
}
.sf-calendar .sf-week-header {
  color: rgba(var(--sf-color-on-surface));
}
.sf-calendar .sf-zoomin {
  animation: ZoomIn 0.3s;
}
.sf-calendar .sf-calendar-footer {
  background: transparent;
  border-top: none;
}
.sf-calendar .sf-disabled {
  opacity: 1;
}
.sf-calendar .sf-disabled.sf-cell .sf-day, .sf-calendar .sf-disabled.sf-other-month .sf-day, .sf-calendar .sf-disabled.sf-focused-date .sf-day {
  color: rgba(var(--sf-color-on-surface), 0.38);
}
.sf-calendar .sf-disabled.sf-today .sf-day {
  border: 1px solid rgb(var(--sf-color-primary));
}
.sf-calendar .sf-calendar-title {
  color: rgba(var(--sf-color-on-surface));
}
.sf-calendar .sf-calendar-title:hover, .sf-calendar .sf-calendar-title:active, .sf-calendar .sf-calendar-title:focus, .sf-calendar .sf-calendar-title:focus-visible {
  color: rgba(var(--sf-color-on-surface));
}