.ginput_container:has(> .advatera-vies-status) { position: relative; }
.ginput_container:has(> .advatera-vies-status) input { padding-right: 2.5rem; }
.advatera-vies-status { position: absolute; right: .75rem; top: 50%; width: 1.25rem; height: 1.25rem; transform: translateY(-50%); cursor: help; outline: none; }
.advatera-vies-status::before, .advatera-vies-status::after { position: absolute; inset: 0; display: grid; place-items: center; font-size: 1.15rem; font-weight: 700; }
.advatera-vies-status[data-status="valid"]::before { color: #16803a; content: "\2713"; }
.advatera-vies-status[data-status="invalid"]::before { color: #737373; content: "\00d7"; }
.advatera-vies-status[data-status="checking"]::before { border: 2px solid #bbb; border-top-color: #3978a8; border-radius: 50%; content: ""; animation: advatera-vies-spin .8s linear infinite; }
.advatera-vies-status[data-status="unavailable"]::before { color: #737373; content: "?"; }
.advatera-vies-tooltip { position: absolute; z-index: 20; right: -.45rem; bottom: calc(100% + .75rem); width: max-content; max-width: min(20rem, calc(100vw - 2rem)); padding: .55rem .7rem; border-radius: .35rem; background: #fff; box-shadow: 0 3px 14px rgba(0, 0, 0, .16); color: #333; font-size: .8rem; font-weight: 400; line-height: 1.4; opacity: 0; pointer-events: none; transform: translateY(.2rem); transition: opacity .15s ease, transform .15s ease; }
.advatera-vies-tooltip::after { position: absolute; top: 100%; right: .7rem; border: .4rem solid transparent; border-top-color: #fff; content: ""; filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .08)); }
.advatera-vies-status:is([data-status="valid"], [data-status="invalid"], [data-status="unavailable"]):is(:hover, :focus-visible) .advatera-vies-tooltip { opacity: 1; transform: translateY(0); }
@keyframes advatera-vies-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .advatera-vies-status[data-status="checking"]::before { animation: none; } }
