Figured it out. Not the cleanest solution (requires repeating rules), but it works. Ended up leaving the .topic-list declaration as it is and targeting .topic-list within .category-list-item using none properties.
//add shadow behind the list of topics
.topic-list, .category-box{
-webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
-moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
background-color: lighten($secondary, 10%);
border-collapse: collapse;
}
.category-list-item {
-webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
-moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
background-color: lighten($secondary, 10%);
border-collapse: collapse;
margin-bottom: 20px;
.topic-list {
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
}