/* PrimeReact v10 compatibility for legacy themes. */
.p-checkbox,
.p-radiobutton {
  position: relative;
  display: inline-flex;
  user-select: none;
  vertical-align: bottom;
}

.p-checkbox-input,
.p-radiobutton-input {
  appearance: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  opacity: 0;
  outline: 0 none;
  cursor: pointer;
  z-index: 1;
}

.p-checkbox-box,
.p-radiobutton-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
}

.p-checkbox .p-checkbox-box .p-checkbox-icon,
.p-radiobutton .p-radiobutton-box .p-radiobutton-icon {
  color: var(--text-color, #444);
  opacity: 1;
}

.p-checkbox.p-highlight .p-checkbox-box .p-checkbox-icon,
.p-radiobutton.p-highlight .p-radiobutton-box .p-radiobutton-icon,
.p-checkbox .p-checkbox-box.p-highlight .p-checkbox-icon,
.p-radiobutton .p-radiobutton-box.p-highlight .p-radiobutton-icon {
  color: var(--primary-color-text, #fff);
  opacity: 1;
}

.p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon,
.p-radiobutton .p-radiobutton-box .p-radiobutton-icon.p-icon {
  opacity: 1;
  filter: none;
}

/* Ensure highlighted state uses primary colors like v10 themes. */
.p-checkbox.p-highlight .p-checkbox-box,
.p-checkbox .p-checkbox-box.p-highlight,
.p-radiobutton.p-highlight .p-radiobutton-box,
.p-radiobutton .p-radiobutton-box.p-highlight {
  background: var(--primary-color, #0f8bfd);
  border-color: var(--primary-color, #0f8bfd);
}

/* Radio selected dot (legacy themes lack size/background). */
.p-radiobutton .p-radiobutton-icon {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: transparent;
}

.p-radiobutton.p-highlight .p-radiobutton-icon,
.p-radiobutton .p-radiobutton-box.p-highlight .p-radiobutton-icon {
  background: var(--primary-color-text, #fff);
}

/* InputText small size (Atlantis theme lacks p-inputtext-sm) */
.p-inputtext.p-inputtext-sm,
.p-inputtext-sm.p-inputtext,
input.p-inputtext-sm {
  padding: 0.375rem 0.5rem;
  font-size: 0.875rem;
}
