.pxv-panel {
  margin: 0 0 1rem;
  border: 1px solid #e4e4e4;
  background: #fff;
  color: #3c403e;
}
.pxv-panel .pxv-heading {
  margin: 0;
  padding: .75rem;
  background: #f5f5f5;
  color: #007536;
  font-size: 1rem;
  font-weight: 700;
}
.pxv-panel form { padding: 0 .75rem .75rem; }
.pxv-panel .pxv-group { border-bottom: 1px solid #eee; }
.pxv-panel summary {
  cursor: pointer;
  padding: .65rem 0;
  font-weight: 600;
}
.pxv-panel .pxv-options {
  max-height: 12rem;
  overflow-y: auto;
  padding: 0 0 .35rem;
}
.pxv-panel label {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  margin: 0;
  padding: .25rem .1rem;
  font-weight: 400;
  overflow-wrap: anywhere;
}
.pxv-panel input[type="checkbox"] {
  flex: 0 0 auto;
  margin: .2rem 0 0;
  accent-color: #007536;
}
.pxv-panel .pxv-message { margin: .7rem 0; }
.pxv-panel .pxv-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin-top: .75rem;
}
.pxv-panel button {
  padding: .45rem .7rem;
  border: 1px solid #007536;
  border-radius: .2rem;
  background: #007536;
  color: #fff;
}
.pxv-panel .pxv-actions a { color: #007536; }
.pxv-panel .pxv-main > summary { padding: .75rem; }
.pxv-panel fieldset {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: .75rem 0;
  border-bottom: 1px solid #eee;
}
.pxv-panel legend { width: auto; margin: 0; font-size: 1rem; font-weight: 700; }
.pxv-panel legend span { font-size: .85em; font-weight: 400; }
.pxv-panel .pxv-count {
  margin-left: auto;
  min-width: 1.5em;
  padding: .05em .35em;
  border-radius: 1em;
  background: #eef0ef;
  text-align: center;
  font-size: .85em;
  line-height: 1.4;
}
.pxv-panel .pxv-price-inputs { display: flex; gap: .35rem; align-items: center; }
.pxv-panel .pxv-price-inputs input {
  width: 0;
  min-width: 0;
  flex: 1;
  border: 1px solid #ddd;
  border-radius: .2rem;
  padding: .35rem;
}
.pxv-panel .pxv-slider {
  --pxv-from: 0%;
  --pxv-to: 100%;
  position: relative;
  height: 1.8rem;
  margin: .4rem 0 .05rem;
}
.pxv-panel .pxv-track {
  position: absolute;
  inset: 50% .48rem auto;
  height: .24rem;
  border-radius: 1rem;
  background: linear-gradient(to right, #e4e7e5 0 var(--pxv-from), #6eb38e var(--pxv-from) var(--pxv-to), #e4e7e5 var(--pxv-to) 100%);
}
.pxv-panel .pxv-slider input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  appearance: none;
  background: transparent;
  margin: 0;
  pointer-events: none;
}
.pxv-panel .pxv-slider input::-webkit-slider-runnable-track { background: transparent; }
.pxv-panel .pxv-slider input::-moz-range-track { background: transparent; }
.pxv-panel .pxv-slider input::-webkit-slider-thumb {
  appearance: none;
  width: 1rem;
  height: 1rem;
  border: 0;
  border-radius: 50%;
  background: #007536;
  pointer-events: auto;
  cursor: ew-resize;
}
.pxv-panel .pxv-slider input::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  border: 0;
  border-radius: 50%;
  background: #007536;
  pointer-events: auto;
  cursor: ew-resize;
}
.pxv-panel .pxv-slider input:focus-visible { z-index: 1; outline: 2px solid #007536; }
.pxv-panel .pxv-scale { display: flex; justify-content: space-between; color: #626762; font-size: .8em; }
.pxv-panel button:disabled { opacity: .55; cursor: default; }
