:host {
  position: relative;
  box-sizing: border-box;
  font-feature-settings: "cv03", "cv04", "cv11";
}
:host *, :host *:before, :host *:after {
  box-sizing: inherit;
}

:host {
  display: block;
}

.date-cell {
  font-size: var(--sl-font-size-small);
  font-weight: var(--sl-font-weight-semibold);
  height: 100%;
}

.date-cell--background-blue {
  background: var(--sl-shading-blue);
}

.date-cell--background-red {
  background: var(--sl-shading-red);
}

.date-cell--background-yellow {
  background: var(--sl-shading-yellow);
}

.date-cell--background-pink {
  background: var(--sl-shading-pink);
}

.date-cell--background-gray {
  background: var(--sl-shading-gray);
}

.date-cell--background-indigo {
  background: var(--sl-shading-indigo);
}

.date-cell--background-green {
  background: var(--sl-shading-green);
}

.date-cell--background-purple {
  background: var(--sl-shading-purple);
}

.date-cell--focus {
  background-color: var(--sl-selection-background-color-hover) !important;
  box-shadow: var(--sl-shadow-x-small);
}
.date-cell--focus * {
  pointer-events: none;
}

.date-cell--has-description .date-cell__description {
  display: flex;
}

.date-cell__description {
  padding: var(--sl-spacing-xxx-small) var(--sl-spacing-xx-small);
  display: none;
}

.date-cell__description-inner {
  flex-grow: 1;
  flex-shrink: 1;
  justify-content: center;
  align-items: center;
  display: flex;
}

.date-cell--has-events .date-cell__events {
  display: block;
}

.date-cell__events {
  padding: var(--sl-spacing-xx-small) var(--sl-spacing-xx-small);
  display: none;
}
.date-cell__events ::slotted(*) {
  display: block;
}
.date-cell__events ::slotted(*:not(:first-child)) {
  margin-top: var(--sl-spacing-xx-small);
}