[data-component~="components/notes/calendar"] {
  > header {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    nav {
      display: flex;
      flex-direction: row;
      gap: 0.5rem;
    }
  }
  #body {
    display: block;
    @media (width >= 1024px) {
      display: grid;
    }
    grid-template-columns: 3rem repeat(7, calc((100% - 3rem) / 7));
    > .day-name {
      display: none;
      @media (width >= 1024px) {
        display: block;
      }
    }
    .day {
      padding: .25rem;
      display: flex;
      flex-direction: column;
      height: auto;
      border-style: solid;
      border-width: 0 1px 1px 1px;
      border-color: var(--color-base-500);
      &.first-day {
        border-top-width: 1px;
      }
      @media (width >= 1024px) {
        height: clamp(5rem, 15vh, 20rem);
        &:not(.first-day) {
          border-left-width: 0;
        }
        &.first-week:not(.first-day) {
          border-top-width: 1px;
        }
        &.first-day:not(.first-week) {
          border-top-width: 0;
        }
      }
      .day-name {
        @media (width >= 1024px) {
          display: none;
        }
      }
      .day-today {
        color: var(--color-yellow-400);
      }
      .events {
        font-size: var(--font-sm);
        margin-top: .25rem;
        flex-grow: grow;
        overflow-y: none;
        @media (width >= 1024px) {
          overflow-y: scroll;
        }
      }
    }
  }
}