/* Contraste e foco explícitos em todos os controles criados pela Mesa 2. */
.mesa-grid button:focus-visible, .mesa-grid input:focus-visible, .mesa-grid select:focus-visible,
.quality-table button:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 2px; }
/* A ordenação continua acessível via aria-sort, sem ícone ou cor permanente no título. */
.mesa-grid [aria-sort="ascending"]::after,
.mesa-grid [aria-sort="descending"]::after {
  content: none !important;
  display: none !important;
}
.mesa-grid [aria-sort="ascending"] .mesa-grid-sort,
.mesa-grid [aria-sort="descending"] .mesa-grid-sort {
  color: inherit !important;
}
@media (prefers-reduced-motion: reduce) { .mesa-grid *, .quality-table * { transition-duration: .01ms !important; } }

:where(button, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus-visible {
  box-shadow: var(--trino-focus-ring) !important;
  outline: 1px solid var(--trino-gold-300) !important;
  outline-offset: 2px;
}

.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

[aria-disabled="true"], :disabled { cursor: not-allowed; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .skeleton { animation: none; }
}
