/* 입력 오류 표시(assets/form-errors.js). 문구는 DESIGN_GUIDELINES.md 의 helper 크기(14px)를 따른다. */
:root{--mf-error-ink:#c62828;--mf-error-line:#d93636;--mf-error-ring:rgba(217,54,54,.16)}
input.mf-invalid,select.mf-invalid,textarea.mf-invalid{border-color:var(--mf-error-line)!important;background-color:#fffafa!important}
input.mf-invalid:focus,select.mf-invalid:focus,textarea.mf-invalid:focus{outline:none!important;border-color:var(--mf-error-line)!important;box-shadow:0 0 0 3px var(--mf-error-ring)!important}
input[type=checkbox].mf-invalid,input[type=radio].mf-invalid{outline:2px solid var(--mf-error-line);outline-offset:2px;box-shadow:none!important}
p.mf-error,.mf-error{display:flex!important;background:none!important;border:0!important;height:auto!important;box-sizing:border-box;width:100%;flex-basis:100%;grid-column:1/-1;align-items:flex-start;gap:.375rem;margin:.375rem 0 0!important;padding:0!important;color:var(--mf-error-ink)!important;font-size:var(--text-helper,.875rem)!important;font-weight:500!important;line-height:1.5!important;text-align:left;letter-spacing:0;word-break:keep-all;overflow-wrap:anywhere;animation:mf-in .16s ease-out}
.mf-error::before{content:'!'!important;flex:none;display:grid;place-items:center;width:1rem;height:1rem;margin-top:.15em;border-radius:50%;background:var(--mf-error-line);color:#fff;font-size:.6875rem;font-weight:700;line-height:1}
@keyframes mf-in{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mf-error{animation:none}}
