:root {
  /* Fonte canônica: CIATA-DS/tokens/tipografia.css */
  --ciata-fonte-familia: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --ciata-fonte-peso-regular: 400;
  --ciata-fonte-peso-semi-negrito: 600;
  --ciata-fonte-peso-negrito: 700;
  --ciata-altura-linha-texto: 1.6;
  --ciata-altura-linha-titulo: 1.2;
  --ciata-largura-leitura: 70ch;

  /* Cores canônicas: CIATA-DS/tokens/cores.css */
  --ciata-cor-amarelo: #ffd000;
  --ciata-cor-cinza: #b3b3b3;
  --ciata-cor-azul: #005c99;
  --ciata-cor-azul-escuro: #16365e;
  --ciata-cor-branco: #ffffff;
  --ciata-cor-cinza-50: #f7f9fb;
  --ciata-cor-cinza-100: #eef2f5;
  --ciata-cor-cinza-300: #c8d0d8;
  --ciata-cor-cinza-600: #536271;
  --ciata-cor-cinza-800: #263746;
  --ciata-cor-preto: #111820;

  --ciata-fundo-pagina: var(--ciata-cor-cinza-50);
  --ciata-fundo-superficie: var(--ciata-cor-branco);
  --ciata-fundo-superficie-elevada: var(--ciata-cor-branco);
  --ciata-texto-primario: var(--ciata-cor-preto);
  --ciata-texto-secundario: var(--ciata-cor-cinza-600);
  --ciata-borda: var(--ciata-cor-cinza-300);

  --ciata-link: #004f85;
  --ciata-link-visitado: #503b85;
  --ciata-acao-primaria-fundo: var(--ciata-cor-azul-escuro);
  --ciata-acao-primaria-texto: var(--ciata-cor-branco);
  --ciata-acao-secundaria-fundo: var(--ciata-cor-branco);
  --ciata-acao-secundaria-texto: var(--ciata-cor-azul-escuro);
  --ciata-acao-secundaria-borda: var(--ciata-cor-azul-escuro);
  --ciata-foco: var(--ciata-cor-amarelo);
  --ciata-foco-contraste: var(--ciata-cor-preto);

  --ciata-sucesso-fundo: #e7f5ec;
  --ciata-sucesso-texto: #145c2e;
  --ciata-aviso-fundo: #fff4cc;
  --ciata-aviso-texto: #594500;
  --ciata-erro-fundo: #fdebec;
  --ciata-erro-texto: #8a1820;
  --ciata-desabilitado-fundo: #e4e8ec;
  --ciata-desabilitado-texto: #65727e;
  --ciata-desabilitado-borda: #b7c0c8;

  /* Compatibilidade temporária com os nomes usados pelos estilos legados. */
  --ciata-blue: var(--ciata-cor-azul);
  --ciata-blue-dark: var(--ciata-cor-azul-escuro);
  --ciata-yellow: var(--ciata-cor-amarelo);
  --ciata-text: var(--ciata-texto-primario);
  --ciata-text-soft: var(--ciata-texto-secundario);
  --ciata-bg: var(--ciata-fundo-pagina);
  --ciata-white: var(--ciata-cor-branco);
  --ciata-border: var(--ciata-borda);
  --ciata-error: var(--ciata-erro-texto);
  --ciata-error-bg: var(--ciata-erro-fundo);
  --ciata-success: var(--ciata-sucesso-texto);
  --ciata-success-bg: var(--ciata-sucesso-fundo);
  --ciata-warning: var(--ciata-aviso-texto);
  --ciata-warning-bg: var(--ciata-aviso-fundo);
}

html,
body {
  font-family: var(--ciata-fonte-familia);
  line-height: var(--ciata-altura-linha-texto);
}

body {
  color: var(--ciata-texto-primario);
  background: var(--ciata-fundo-pagina);
}

a {
  color: var(--ciata-link);
}

a:visited {
  color: var(--ciata-link-visitado);
}

/* O CIATA-DS usa foco amarelo com anel de contraste preto. Esta folha é
   carregada depois dos estilos locais para substituir indicadores antigos. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--ciata-foco) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px var(--ciata-foco-contraste) !important;
}

/* Compatibilidade visual com o componente Button do CIATA-DS sem exigir
   migração imediata de todas as classes Blade existentes. */
.btn,
input[type="submit"] {
  background-color: var(--ciata-acao-primaria-fundo);
  color: var(--ciata-acao-primaria-texto);
  border-color: var(--ciata-acao-primaria-fundo);
  border-radius: .625rem;
  min-height: 44px;
  box-shadow: none;
}

.btn:hover,
input[type="submit"]:hover {
  background-color: var(--ciata-acao-primaria-fundo);
  color: var(--ciata-acao-primaria-texto);
  filter: brightness(.95);
}

.btn-secondary,
.btn-outline {
  background: var(--ciata-acao-secundaria-fundo);
  color: var(--ciata-acao-secundaria-texto);
  border-color: var(--ciata-acao-secundaria-borda);
  box-shadow: none;
}

.status.success {
  background: var(--ciata-sucesso-fundo);
  color: var(--ciata-sucesso-texto);
}

.status.warning {
  background: var(--ciata-aviso-fundo);
  color: var(--ciata-aviso-texto);
}

.status.error {
  background: var(--ciata-erro-fundo);
  color: var(--ciata-erro-texto);
}

@media (forced-colors: active) {
  :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid Highlight !important;
    box-shadow: none !important;
  }
}

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