.ts-container {
  position: relative;
  width: 100%;
  font-family: Arial, sans-serif;
}

.ts-input {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
}

.ts-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  border: 1px solid #ccc;
  background: #fff;
  z-index: 1000;
  max-height: 250px;
  overflow-y: auto;
  padding: 5px;
  box-sizing: border-box;
}

.ts-node {
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  display: block;       /* Fix for vertical stacking */
  line-height: 1.5em;
}

.ts-node:hover {
  background: #f0f0f0;
}

.ts-parent {
  font-weight: bold;
  position: relative;
}

.ts-children {
  padding-left: 16px;
  display: none;       /* hide children initially */
}

.ts-icon {
  display: inline-block;
  width: 16px;
  margin-right: 5px;
  cursor: pointer;
}

.ts-label {
  vertical-align: middle;
}

.ts-leaf {
  padding-left: 21px;
  display: block;
}
