/* Shared feedback states */
.is-loading, [aria-busy="true"] { cursor: progress; }
[aria-invalid="true"], .is-invalid { border-color: var(--fa-color-error) !important; box-shadow: 0 0 0 2px rgb(217 45 32 / 12%); }
[aria-invalid="true"] + .form-help, .is-invalid + .form-help { color: var(--fa-color-error); }
.is-success { border-color: var(--fa-color-success) !important; }
.skeleton { position: relative; overflow: hidden; background: #EFEFEF; border-radius: var(--fa-radius-sm); color: transparent !important; }
.skeleton::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgb(255 255 255 / 65%), transparent); animation: fa-shimmer 1.4s infinite; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
