.cpc-locations { margin-top: 10px; }
.cpc-locations-toolbar { display:flex; justify-content:flex-start; margin: 12px 0 14px; }
.cpc-locations-search { width: min(520px, 100%); padding: 10px 12px; border: 1px solid rgba(0,0,0,.15); border-radius: 8px; }
.cpc-locations-table-wrap { overflow-x:auto; }
.cpc-locations-table { width: 100%; border-collapse: collapse; }
.cpc-locations-table th, .cpc-locations-table td { padding: 12px 10px; border-bottom: 1px solid rgba(0,0,0,.08); text-align:left; }
.cpc-locations-table th { font-weight: 600; }
.cpc-locations-location a { text-decoration: none; }
.cpc-locations-location a:hover { text-decoration: underline; }
.cpc-locations-empty { margin-top: 10px; }

/* State grouping */
.cpc-locations-groups { display: flex; flex-direction: column; gap: 14px; }
.cpc-locations-state { border: 1px solid rgba(0,0,0,.10); border-radius: 12px; overflow: hidden; background: rgba(0,0,0,.02); }
.cpc-locations-state-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 12px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 1.05em;
  font-weight: 700;
  text-align: left;
}
.cpc-locations-state-toggle:hover { background: rgba(0,0,0,.03); }
.cpc-locations-state-toggle:focus { outline: 2px solid rgba(0,124,186,.35); outline-offset: -2px; }
.cpc-locations-state-count { font-weight: 600; opacity: .75; }
.cpc-locations-state-panel { padding: 0 0 6px; }
.cpc-locations-state-panel[hidden] { display: none; }

/* Slightly tighter rows inside grouped tables */
.cpc-locations-state .cpc-locations-table th,
.cpc-locations-state .cpc-locations-table td { padding: 10px 12px; }