.dashboard {
  padding: 1rem;
  background-color: var(--background-color);
  max-width: 800px;
  margin: 0 auto;
}

.dashboard h2 {
  margin-bottom: 0.5rem;
}

.summary-section,
.progress-section {
  margin-bottom: 2rem;
}

.series-section,
.expansion-section {
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 8px;
}

.filter-section {
  display: flex;
  flex-wrap: wrap;
}

.filter-option-div {
  display: flex;
  white-space: nowrap;
  align-items: center;
  margin-bottom: 1rem;
}

.filter {
  padding: 0.5rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  min-width: 100px;
  margin-right: 1rem;
}

.progress-bar {
  width: 18em;
  max-width: 30vw;
  height: 10px;
  background-color: #AAA;
  border-radius: 5px;
  overflow: hidden;
  margin-left: 1rem;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .progress-bar {
    max-width: 20vw;
    margin-left: 0;
  }
}

.progress-bar-fill-series {
  height: 100%;
  background-color: #3665B3;
  transition: width 0.3s ease;
}

.progress-bar-fill-expansion {
  height: 100%;
  background-color: #2E7D32;
  transition: width 0.3s ease;
}

.expansion-content ul,
.series-content ul {
  list-style: none;
  padding: 0;
}

.series-content li:not(:first-child):not(:nth-child(2)):not(:last-child) {
  background-color: #cddbff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.25rem 0.5rem;
  color: #000;
}

.series-content li:first-child,
.series-content li:nth-child(2) {
  background-color: #cddbff;
  padding: 0.5rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #000;
}

.series-content li:last-child {
  background-color: #cddbff;
  padding-top: 0.25rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #000;
}

.expansion-content li:not(:first-child):not(:nth-child(2)):not(:last-child) {
  background-color: #cbe7a2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.25rem 0.5rem;
  color: #000;
}

.expansion-content li:first-child,
.expansion-content li:nth-child(2) {
  background-color: #cbe7a2;
  padding: 0.5rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #000;
}

.expansion-content li:last-child {
  background-color: #cbe7a2;
  padding-top: 0.25rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #000;
}

.expansion-header {
  font-size: 1.2rem;
  font-weight: bold;
  cursor: pointer;
  background-color: #2E7D32;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.expansion-header #expansion-name {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: #2E7D32;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 4px;
}

.expansion-content,
.series-content {
  max-height: calc(2.625em + 32px);
  overflow: hidden;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  margin-bottom: 0.5rem;
}

.expansion-content.expanded,
.series-content.expanded {
  max-height: 100%;
}

.series-header {
  font-size: 1.2rem;
  font-weight: bold;
  cursor: pointer;
  background-color: #3665B3;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.series-header #series-name {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: #3665B3;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 4px;
}

.divider {
  border: none;
  height: 3px;
  background-color: #AAA;
}

.divider-initial {
  border: none;
  height: 3px;
  background-color: #AAA;
}