/* Harmonização de ações do Site Original — azul profundo e contraste reforçado.
   Apenas seletores de ações identificadas; abas, filtros, legendas e campos não são capturados. */
:root {
  --site-action-primary: #0b5f8a;
  --site-action-primary-hover: #084b70;
  --site-action-primary-active: #063a57;
  --site-action-primary-text: #ffffff;
  --site-action-secondary-bg: #ffffff;
  --site-action-secondary-text: #1c4059;
  --site-action-border: #b7cad9;
  --site-action-focus: rgba(11, 95, 138, .35);
  --site-action-danger: #b4232c;
  --site-action-danger-hover: #8f1720;
}

/* Ações principais já identificadas por classe nos fluxos existentes. */
.btn-primary,
a.btn-primary,
button.primary,
.botao-acao.primario,
button.botao-acao.primario,
.botao-acao.sucesso,
button.botao-acao.sucesso,
button.botao[type="submit"] {
  border-color: var(--site-action-primary) !important;
  background-color: var(--site-action-primary) !important;
  color: var(--site-action-primary-text) !important;
}
.btn-primary:hover,
a.btn-primary:hover,
button.primary:hover,
.botao-acao.primario:hover,
button.botao-acao.primario:hover,
.botao-acao.sucesso:hover,
button.botao-acao.sucesso:hover,
button.botao[type="submit"]:hover {
  border-color: var(--site-action-primary-hover) !important;
  background-color: var(--site-action-primary-hover) !important;
  color: var(--site-action-primary-text) !important;
}
.btn-primary:active,
a.btn-primary:active,
button.primary:active,
.botao-acao.primario:active,
.botao-acao.sucesso:active,
button.botao[type="submit"]:active {
  border-color: var(--site-action-primary-active) !important;
  background-color: var(--site-action-primary-active) !important;
}

/* Ações secundárias do fluxo financeiro; abas/períodos/legendas ficam de fora. */
#btn-import,
#btn-importar-revolut,
#btn-saveto-server,
#btn-download,
#btn-guardar,
#btn-limpar,
#btn-refresh,
#btn-print,
#btn-pdf,
#btnVerificarTodos,
#fechar-dialog,
body > main.card > button,
#btn-por-acao,
#btn-escolher-ficheiro,
#btn-csv,
#btnVerificar,
#btn-converter,
#btn-upload,
#btn-atualizar-precos,
#btn-analisar,
#btn-confirmar,
#btn-calcular-englobamento,
#btn-guardar-despesas {
  border-color: var(--site-action-border);
  background-color: var(--site-action-secondary-bg);
  color: var(--site-action-secondary-text);
}
#btn-import:hover,
#btn-importar-revolut:hover,
#btn-saveto-server:hover,
#btn-download:hover,
#btn-guardar:hover,
#btn-limpar:hover,
#btn-refresh:hover,
#btn-print:hover,
#btn-pdf:hover,
#btnVerificarTodos:hover,
#fechar-dialog:hover,
body > main.card > button:hover,
#btn-por-acao:hover,
#btn-escolher-ficheiro:hover,
#btn-csv:hover,
#btnVerificar:hover,
#btn-converter:hover,
#btn-upload:hover,
#btn-atualizar-precos:hover,
#btn-analisar:hover,
#btn-confirmar:hover,
#btn-calcular-englobamento:hover,
#btn-guardar-despesas:hover {
  border-color: var(--site-action-primary);
  background-color: #f3f7fa;
}

#btn-por-acao:not(.ativo) {
  border-color: var(--site-action-primary) !important;
  background-color: #f3f7fa !important;
  color: var(--site-action-primary-active) !important;
}
#btn-por-acao.ativo {
  border-color: var(--site-action-primary) !important;
  background-color: var(--site-action-primary) !important;
  color: var(--site-action-primary-text) !important;
}
#btn-por-acao.ativo:hover {
  border-color: var(--site-action-primary-hover) !important;
  background-color: var(--site-action-primary-hover) !important;
  color: var(--site-action-primary-text) !important;
}

/* Ações principais dos formulários de páginas financeiras e wishlist. */
#btn-add-row,
#btn-saveto-server,
#btn-csv,
#btn-guardar-despesas,
#btn-atualizar-precos,
#btn-converter,
#btn-upload,
#btnVerificar,
#btn-confirmar,
#btn-calcular-englobamento,
#btn-analisar,
#btn-escolher-ficheiro {
  border-color: var(--site-action-primary) !important;
  background-color: var(--site-action-primary) !important;
  color: var(--site-action-primary-text) !important;
}
#btn-add-row:hover,
#btn-saveto-server:hover,
#btn-csv:hover,
#btn-guardar-despesas:hover,
#btn-atualizar-precos:hover,
#btn-converter:hover,
#btn-upload:hover,
#btnVerificar:hover,
#btn-confirmar:hover,
#btn-calcular-englobamento:hover,
#btn-analisar:hover,
#btn-escolher-ficheiro:hover {
  border-color: var(--site-action-primary-hover) !important;
  background-color: var(--site-action-primary-hover) !important;
  color: var(--site-action-primary-text) !important;
}

/* Ações destrutivas de remoção: contraste distinto, mantendo a função existente. */
.btn-remover,
button.btn-remover,
.botao-remover,
button.botao-remover {
  border-color: #e7b4b8 !important;
  background-color: #ffffff !important;
  color: var(--site-action-danger) !important;
}
.btn-remover:hover,
button.btn-remover:hover,
.botao-remover:hover,
button.botao-remover:hover {
  border-color: var(--site-action-danger) !important;
  background-color: #fff4f4 !important;
  color: var(--site-action-danger-hover) !important;
}


/* Foco visível e estados inativos sem mudar a semântica/ativação. */
.btn-primary:focus-visible,
a.btn-primary:focus-visible,
button.primary:focus-visible,
.botao-acao:focus-visible,
button.botao:focus-visible,
#btn-import:focus-visible,
#btn-importar-revolut:focus-visible,
#btn-saveto-server:focus-visible,
#btn-download:focus-visible,
#btn-guardar:focus-visible,
#btn-limpar:focus-visible,
#btn-refresh:focus-visible,
#btn-print:focus-visible,
#btn-pdf:focus-visible,
#btnVerificarTodos:focus-visible,
#fechar-dialog:focus-visible,
#btn-por-acao:focus-visible,
#btn-escolher-ficheiro:focus-visible,
#btn-csv:focus-visible,
#btnVerificar:focus-visible,
#btn-converter:focus-visible,
#btn-upload:focus-visible,
#btn-atualizar-precos:focus-visible,
#btn-analisar:focus-visible,
#btn-confirmar:focus-visible,
#btn-calcular-englobamento:focus-visible,
#btn-guardar-despesas:focus-visible,
body > main.card > button:focus-visible,
button.botao[type="submit"]:focus-visible,
.btn-remover:focus-visible,
.botao-remover:focus-visible {
  outline: 3px solid var(--site-action-focus);
  outline-offset: 2px;
}
#btn-analisar:disabled,
#btn-confirmar:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
  .btn-primary, button.primary, .botao-acao, button.botao[type="submit"] { transition: none; }
}
