/* Form validation look (shared by site + admin). Pairs with assets/js/validate.js */
.gv-msg{display:block;margin:6px 2px 0;font:600 12.5px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#c92a2a;text-align:left}
.gv-msg[hidden]{display:none}
.gv-msg::before{content:"!";display:inline-grid;place-items:center;width:15px;height:15px;margin-right:6px;border-radius:50%;background:#c92a2a;color:#fff;font-size:10px;font-weight:800;vertical-align:1px}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#e03131!important;background-color:rgba(224,49,49,.05)!important;box-shadow:0 0 0 3px rgba(224,49,49,.13)!important}
input.gv-ok,select.gv-ok,textarea.gv-ok{border-color:#2f9e44!important}
.gv-cnt{display:block;margin:4px 2px 0;text-align:right;font:500 12px/1.3 system-ui,sans-serif;color:#7a8696}
.gv-cnt.gv-full{color:#c92a2a;font-weight:700}
.gv-shake{animation:gvshake .38s}
@keyframes gvshake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.gv-meter{display:flex;align-items:center;gap:10px;margin:7px 2px 0}
.gv-meter i{flex:1;height:5px;border-radius:9px;background:#e3e8ef;position:relative;overflow:hidden}
.gv-meter i::after{content:"";position:absolute;inset:0 auto 0 0;width:0;border-radius:9px;background:#e03131;transition:width .25s,background .25s}
.gv-meter[data-s="1"] i::after{width:33%;background:#e03131}
.gv-meter[data-s="2"] i::after{width:66%;background:#f59f00}
.gv-meter[data-s="3"] i::after{width:100%;background:#2f9e44}
.gv-meter span{font:700 12px/1 system-ui,sans-serif;color:#516074;min-width:58px;text-align:right}
@media (prefers-reduced-motion:reduce){.gv-shake{animation:none}}
