/*
 * Ajustes de acessibilidade do painel (docs/PROJECT_ASSESSMENT.md, A1/A2/U1).
 * Complementa assets/css/style.bundle.css (Metronic 8) sem alterá-lo. Carregado depois dele.
 * Só o tema claro é ajustado; o tema escuro do Metronic mantém seus valores.
 */

/* Contraste AA: cor primária = ciano da marca escurecido (5:1 com texto branco; o azul do
   tema tinha 3,6:1); cinzas de texto secundário (2,6:1 e 1,6:1) para 5,2:1 e 4,5:1 sobre branco. */
:root:not([data-bs-theme="dark"]),
[data-bs-theme="light"] {
  --bs-primary: #0077a8;
  --bs-primary-active: #005f87;
  --bs-primary-rgb: 0, 119, 168;
  --bs-text-primary: #0077a8;
  --bs-link-color: #0077a8;
  --bs-link-hover-color: #005f87;
  --bs-link-color-rgb: 0, 119, 168;
  --bs-text-gray-500: #646c82;
  --bs-text-muted: #646c82;
  --bs-gray-500: #646c82;
  --bs-text-gray-400: #6d768c;
  /* Cinza de texto informativo (3,8:1) e cores de estado com texto branco ou sobre fundo claro:
     info = primário (ciano da marca, 5:1); sucesso 2,3:1 -> 5,4:1; perigo 3,9:1 -> 5,7:1. */
  --bs-gray-600: #5e6781;
  --bs-text-gray-600: #5e6781;
  --bs-info: #0077a8;
  --bs-info-active: #005f87;
  --bs-info-rgb: 0, 119, 168;
  --bs-text-info: #0077a8;
  --bs-success: #0b7a37;
  --bs-success-active: #096a30;
  --bs-success-rgb: 11, 122, 55;
  --bs-text-success: #0b7a37;
  --bs-danger: #c8164a;
  --bs-danger-active: #b01240;
  --bs-danger-rgb: 200, 22, 74;
  --bs-text-danger: #c8164a;
  /* Spec 010: aviso (selos "Aguardando pagamento", botões "Inativar") 1,6:1 -> 4,9:1 sobre o fundo claro do selo e
     5,2:1 com texto branco. */
  --bs-warning: #a15c00;
  --bs-warning-active: #8a4f00;
  --bs-warning-rgb: 161, 92, 0;
  --bs-text-warning: #a15c00;
}

/* Foco visível para quem navega pelo teclado (WCAG 2.4.7). */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.menu-link:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #ffc20e !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #1a1a1a !important;
}

.form-control:focus-visible,
.form-select:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #0077a8 !important;
  outline-offset: 1px !important;
}

/* Alvos de toque de pelo menos 44px no celular/tablet (WCAG 2.5.5). */
@media (max-width: 991.98px) {
  .app-sidebar .menu-link,
  .app-header .btn-icon,
  .page-link {
    min-height: 44px;
  }

  .app-header .btn-icon,
  .page-link {
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

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