.p-floatlabel:not(:has(input:focus)) input::placeholder,
.p-floatlabel:not(:has(input.p-filled)) input::placeholder,
.p-floatlabel:not(:has(input:-webkit-autofill)) input::placeholder,
.p-floatlabel:not(:has(textarea:focus)) textarea::placeholder,
.p-floatlabel:not(:has(textarea.p-filled)) textarea::placeholder,
.p-floatlabel:not(:has(.p-inputwrapper-focus)) input::placeholder,
.p-floatlabel:not(:has(.p-inputwrapper-filled)) input::placeholder {
  color: transparent !important;
}

.p-floatlabel:has(input:focus) input::placeholder,
.p-floatlabel:has(input:-webkit-autofill) input::placeholder,
.p-floatlabel:has(textarea:focus) input::placeholder,
.p-floatlabel:has(.p-inputwrapper-focus) input::placeholder {
  color: var(--p-inputtext-placeholder-color) !important;
}

svg {
  width: 2rem;
  animation: loading-rotate 1.5s linear infinite;
}

circle {
  fill: none;
  stroke: #4f46e5;
  stroke-width: 2;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke-linecap: round;
  animation: loading-dash 1.5s ease-in-out infinite;
}

@keyframes loading-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes loading-dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 90, 200;
    stroke-dashoffset: -35px;
  }

  100% {
    stroke-dashoffset: -125px;
  }
}
