.shifts-schedule {
  display: flex;
  flex-direction: column;
  gap: 16px;

  /* Disregard turbo elements for styling */
  turbo-frame {
    display: contents;
  }
}

.shifts-schedule__date {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;

  h3 {
    font-weight: var(--font-weight-extrabold);
  }

  h5 {
    font-weight: var(--font-weight-medium);
    color: var(--gray-500);
  }
}

.shifts-schedule__day {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-left: 24px;
  position: relative;

  &::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    background-color: var(--gray-200);
    left: -16px;
  }
}

.shifts-schedule__shift {
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
  position: relative;
  min-width: 360px;
  background-color: var(--pure-white);
  box-shadow: none;
  border: 1px solid var(--gray-200);
  border-radius: 8px;
  padding: 16px;
  transition: all 0.1s ease-in-out;

  &::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background-color: var(--theme-color);
    transition: all 0.1s ease-in-out;
  }

  &:hover {
    box-shadow: 0px 1px 5px 1px var(--gray-200);
  }
}

.shifts-schedule__shift--active {
  padding-left: 24px;

  &::before {
    width: 8px;
  }

  .shifts-schedule__shift-title {
    h4 {
      color: black;
      font-weight: var(--font-weight-bold);
    }
  }
}

.shifts-schedule__shift-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
}

.shifts-schedule__shift-title {
  h4 {
    transition: all 0.1s ease-in-out;
    font-weight: var(--font-weight-semibold);
    color: var(--gray-700);
    line-height: 2rem;
  }

  h5 {
    font-weight: var(--font-weight-regular);
    color: var(--gray-500);
  }
}