.months-overview {
  .months {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.35rem;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;

    .bar {
      width: 100%;
      height: 1.75rem;
      border-radius: var(--app-radius-xs);
      background: var(--app-bg-muted);
      border: 1px solid var(--app-border-subtle);
    }

    .label {
      color: var(--app-fg-muted);
      font-size: 0.6875rem;
      line-height: 1;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 100%;
    }

    &.available .bar {
      background: color-mix(in srgb, var(--app-ok-fg) 28%, var(--app-surface));
      border-color: color-mix(in srgb, var(--app-ok-fg) 35%, transparent);
    }

    &.closed .bar {
      background: var(--app-ok-fg);
      border-color: var(--app-ok-fg);
    }
  }

  .legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    list-style: none;
    padding: 0;
    margin: 0.75rem 0 0;
    color: var(--app-fg-muted);
    font-size: 0.75rem;

    li {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
    }

    .swatch {
      width: 0.75rem;
      height: 0.75rem;
      border-radius: var(--app-radius-xs);
      border: 1px solid var(--app-border-subtle);
      background: var(--app-bg-muted);

      &.available {
        background: color-mix(in srgb, var(--app-ok-fg) 28%, var(--app-surface));
        border-color: color-mix(in srgb, var(--app-ok-fg) 35%, transparent);
      }

      &.closed {
        background: var(--app-ok-fg);
        border-color: var(--app-ok-fg);
      }
    }
  }

  .past {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-top: 1rem;

    ul {
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem;
      list-style: none;
      padding: 0;
      margin: 0;
    }

    li {
      padding: 0.2rem 0.55rem;
      border-radius: var(--app-radius-sm);
      background: var(--app-surface);
      border: 1px solid var(--app-border-subtle);
      color: var(--app-fg-muted);
      font-size: 0.8125rem;
    }
  }
}
