.stock-exchange-filter-control {
  position: relative;
  display: inline-flex;
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  margin-left: 7px;
  border: 1px solid #b9c8d8;
  border-radius: 4px;
  background: #fff;
  color: #405366;
  vertical-align: middle;
  cursor: pointer;
  font: inherit;
}

.stock-exchange-filter-control::before {
  content: "";
  width: 12px;
  height: 12px;
  background: currentColor;
  clip-path: polygon(0 8%, 100% 8%, 63% 49%, 63% 88%, 38% 100%, 38% 49%);
  pointer-events: none;
}

.stock-exchange-filter-control:hover { border-color: #6f9fc4; color: #2563a6; }
.stock-exchange-filter-control.active { border-color: #2563a6; background: #edf5ff; color: #1766cf; }
.stock-exchange-filter-control:focus-visible { outline: 2px solid rgba(37, 99, 166, .32); outline-offset: 1px; }

.stock-exchange-filter {
  position: fixed;
  z-index: 10020;
  width: 204px;
  padding: 7px;
  border: 1px solid #cad7e5;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: 0 12px 30px rgba(31, 51, 74, .22);
  color: #354a60;
  text-align: left;
}

.stock-exchange-filter[hidden] { display: none !important; }

.stock-exchange-filter-option {
  display: flex;
  min-height: 30px;
  align-items: center;
  gap: 8px;
  padding: 3px 7px;
  border-radius: 5px;
  box-sizing: border-box;
  color: #40556d;
  font-size: 12px;
  line-height: 1.35;
  cursor: pointer;
  user-select: none;
}

.stock-exchange-filter-option:hover { background: #f1f6fc; }
.stock-exchange-filter-option-all { margin-bottom: 4px; border-bottom: 1px solid #e5ebf2; border-radius: 5px 5px 0 0; font-weight: 700; }
.stock-exchange-filter-option input { flex: none; margin: 0; accent-color: #2563a6; }
.stock-exchange-filter-option span { min-width: 0; }

@media (max-width: 520px) {
  .stock-exchange-filter { width: 184px; }
}

table tbody tr[hidden] { display: none !important; }
