/* UX V2 — acessibilidade e estados globais. Não altera regras de negócio. */
:focus-visible{outline:3px solid #ff9f43!important;outline-offset:3px!important}
.app-main:focus{outline:none}
[aria-invalid="true"]{border-color:#b42318!important;box-shadow:0 0 0 2px rgba(180,35,24,.14)!important}
.field-error,[data-field-error]{display:block;margin-top:5px;color:#9b1c1c;font-size:12px;font-weight:700}
.required-indicator{margin-left:4px;color:#9b1c1c;font-weight:900}
.required-help{margin:0 0 14px;color:#5f6d75;font-size:12px}
.global-live-region{position:fixed!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.empty,.empty-state{color:#53636d}.empty strong,.empty-state strong{color:#243b4a}.empty-state{padding:24px;text-align:center;border:1px dashed #c9d3d9;border-radius:12px;background:#f8fafb}.empty-state p{max-width:58ch;margin:8px auto 16px}
.ui-loading{position:relative;min-height:72px;pointer-events:none;opacity:.7}.ui-loading:after{content:'Carregando…';display:block;padding:16px;color:#53636d;font-weight:700}
.alert[role="alert"],.alert.error,.alert.danger{scroll-margin-top:88px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
