/* CasinoOpsAI Internal — protected application accessibility parity. */
.coa201-sr-only {
  position: absolute !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;
}

:root[data-coa-protected-accessibility="active"] :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #005fcc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #fff !important;
}

:root[data-coa-protected-accessibility="active"] [data-coa201-focus-target="true"] {
  scroll-margin-top: 1.5rem;
}

:root[data-coa-protected-accessibility="active"] [role="tablist"] [role="tab"][aria-selected="true"] {
  text-decoration: underline;
  text-decoration-thickness: 0.15em;
  text-underline-offset: 0.2em;
}

:root[data-coa-protected-accessibility="active"] [role="tabpanel"]:focus {
  outline: none;
}

:root[data-coa-protected-accessibility="active"] .coa201-error-summary {
  margin: 1rem auto;
  max-width: min(72rem, calc(100% - 2rem));
  padding: 0.9rem 1rem;
  border: 2px solid currentColor;
  border-radius: 0.6rem;
  background: #fff;
  color: #7a1111;
  font-weight: 700;
}

:root[data-coa-protected-accessibility="active"] [role="region"][tabindex="0"] {
  scrollbar-gutter: stable;
}

@media (max-width: 520px), (pointer: coarse) {
  :root[data-coa-protected-accessibility="active"] :is(button, .btn, a.button, [role="button"], summary) {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root[data-coa-protected-accessibility="active"],
  :root[data-coa-protected-accessibility="active"] *,
  :root[data-coa-protected-accessibility="active"] *::before,
  :root[data-coa-protected-accessibility="active"] *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
