/* === PADRÃO GLOBAL DE BOTÕES — FireProject ===
   Única fonte de verdade para o estilo de botões do sistema. Carregado em
   toda página (ver <link> no <head> de cada template).

   Convenção: todo elemento que se comporta como botão de ação deve usar
   (ou ganhar) uma das classes listadas abaixo — a mais simples e genérica é
   "btn". Um botão novo só precisa de class="btn" para herdar automaticamente
   este padrão; não é necessário editar este arquivo para isso.

   Exceções deliberadas (NÃO devem usar nenhuma das classes abaixo): abas de
   navegação por etapas como .project-step-button (têm cores próprias por
   estado: ativa, erro), botões de fechar ícone (.modal-close,
   .finance-modal-close) e ações destrutivas que devem continuar vermelhas
   (.page-item-action).

   IMPORTANTE: este arquivo também é lido pelo motor de geração de PDF
   (xhtml2pdf), cujo parser CSS só entende CSS 2.1. NÃO usar aqui:
   - seletores CSS3 como :not(), :is(), [attr*="..."] (substring) — o parser
     quebra e o arquivo inteiro deixa de ser aplicado;
   - variáveis CSS (:root / var()) — mesmo problema.
   Usar sempre uma lista explícita de classes e valores literais. */

.btn,
.btn-primary,
.btn-secondary,
.btn-submit,
.btn-save,
.btn-save-sm,
.btn-save-finance,
.btn-save-profile,
.btn-new,
.btn-action,
.btn-acao,
.btn-back,
.btn-voltar,
.btn-cancel,
.btn-cancel-sm,
.btn-clear,
.btn-delete,
.btn-edit,
.btn-print,
.btn-imprimir,
.btn-download,
.btn-report,
.btn-laudo,
.btn-parecer,
.btn-completo,
.btn-salvar,
.btn-search,
.btn-sm,
.btn-toolbar,
.btn-word,
.action-btn,
.analyze-btn,
.analysis-btn,
.report-btn,
.laudo-btn,
.logout-btn,
.logo-upload-btn,
.quick-btn,
.quick-access-btn,
.search-btn,
.search-clear-btn,
.send-btn,
.clear-btn,
.copy-btn,
.edit-btn,
.delete-btn,
.feedback-btn,
.support-btn,
.mixed-use-btn,
.remove-sector-btn,
.page-item-edit-btn,
.page-item-default-btn,
.form-submit,
.page-submit,
.empty-link,
.stat-card-link,
input[type="submit"],
input[type="button"] {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.32) 0%, rgba(255, 255, 255, 0.05) 18%, rgba(255, 255, 255, 0) 40%, rgba(0, 0, 0, 0.08) 100%), linear-gradient(135deg, #0b1f45 0%, #0d3fae 35%, #1f6feb 70%, #3f8ff7 100%) !important;
  color: #f9f9f9 !important;
  border: 1.5px solid rgba(213, 216, 220, 0.9) !important;
  box-shadow: 0 6px 18px rgba(10, 61, 98, 0.4), 0 2px 6px rgba(213, 216, 220, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.4), inset 0 -1px 0 rgba(0, 0, 0, 0.2) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
  transition: all 0.2s ease;
}

.btn:hover,
.btn:focus-visible,
.btn-primary:hover,
.btn-secondary:hover,
.btn-submit:hover,
.btn-save:hover,
.btn-save-sm:hover,
.btn-save-finance:hover,
.btn-save-profile:hover,
.btn-new:hover,
.btn-action:hover,
.btn-acao:hover,
.btn-back:hover,
.btn-voltar:hover,
.btn-cancel:hover,
.btn-cancel-sm:hover,
.btn-clear:hover,
.btn-delete:hover,
.btn-edit:hover,
.btn-print:hover,
.btn-imprimir:hover,
.btn-download:hover,
.btn-report:hover,
.btn-laudo:hover,
.btn-parecer:hover,
.btn-completo:hover,
.btn-salvar:hover,
.btn-search:hover,
.btn-sm:hover,
.btn-toolbar:hover,
.btn-word:hover,
.action-btn:hover,
.analyze-btn:hover,
.analysis-btn:hover,
.report-btn:hover,
.laudo-btn:hover,
.logout-btn:hover,
.logo-upload-btn:hover,
.quick-btn:hover,
.quick-access-btn:hover,
.search-btn:hover,
.search-clear-btn:hover,
.send-btn:hover,
.clear-btn:hover,
.copy-btn:hover,
.edit-btn:hover,
.delete-btn:hover,
.feedback-btn:hover,
.support-btn:hover,
.mixed-use-btn:hover,
.remove-sector-btn:hover,
.page-item-edit-btn:hover,
.page-item-default-btn:hover,
.form-submit:hover,
.page-submit:hover,
.empty-link:hover,
.stat-card-link:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.08) 18%, rgba(255, 255, 255, 0) 40%, rgba(0, 0, 0, 0.1) 100%), linear-gradient(135deg, #56a3ff 0%, #1f6feb 35%, #0d3fae 65%, #1f6feb 100%) !important;
  color: #f9f9f9 !important;
  border-color: rgba(249, 115, 22, 0.7) !important;
  border-width: 1px !important;
  box-shadow: 0 0 0 1.5px rgba(249, 115, 22, 0.2), 0 6px 16px rgba(249, 115, 22, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 -1px 0 rgba(0, 0, 0, 0.2) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}

/* Item de navegação do menu lateral: não é um botão de ação, mantém o
   destaque laranja de seleção/hover já usado no restante da navegação. */
.menu-item:hover {
  background: #f97316 !important;
  color: #fff !important;
  border-color: #f97316 !important;
  box-shadow: 0 6px 16px rgba(249, 115, 22, 0.25) !important;
  transition: all 0.2s ease;
}

.btn:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled {
  background: #d5d8dc !important;
  color: #64748b !important;
  border-color: #d5d8dc !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  transform: none !important;
  opacity: 0.7;
}
