/* Ecofyx V59 — paleta de ações suaves
   Camada visual apenas: mantém semântica, rotas e comportamento dos controles. */
:root{
  --efx-action-green-bg:linear-gradient(135deg,rgba(25,135,84,.14),rgba(14,165,160,.10));
  --efx-action-green-bg-hover:linear-gradient(135deg,rgba(25,135,84,.20),rgba(14,165,160,.15));
  --efx-action-green-border:rgba(25,135,84,.26);
  --efx-action-green-ink:#165c3b;
  --efx-action-blue-bg:linear-gradient(135deg,rgba(37,99,235,.085),rgba(6,182,212,.075));
  --efx-action-blue-bg-hover:linear-gradient(135deg,rgba(37,99,235,.13),rgba(6,182,212,.11));
  --efx-action-blue-border:rgba(37,99,235,.18);
  --efx-action-blue-ink:#244d89;
  --efx-action-purple-bg:linear-gradient(135deg,rgba(124,58,237,.09),rgba(99,102,241,.08));
  --efx-action-purple-bg-hover:linear-gradient(135deg,rgba(124,58,237,.14),rgba(99,102,241,.12));
  --efx-action-purple-border:rgba(124,58,237,.18);
  --efx-action-purple-ink:#5b3f91;
  --efx-action-shadow:0 8px 22px rgba(15,23,42,.055);
}

/* Ação principal: deixa o antigo verde sólido mais leve, sem perder legibilidade. */
.btn-primary:not(.danger):not(.destructive),
.btn-success:not(.danger):not(.destructive),
.btn-ecofyx:not(.danger):not(.destructive),
.btn.brand:not(.danger):not(.destructive),
.btn.primary:not(.danger):not(.destructive),
.btn.green:not(.danger):not(.destructive),
button.primary:not(.danger):not(.destructive),
a.primary:not(.danger):not(.destructive),
.action.is-primary:not(.danger):not(.destructive),
.topbtn-primary:not(.danger):not(.destructive),
.eco-editor-save:not(.danger):not(.destructive),
.eco-save:not(.danger):not(.destructive),
.eco-primary:not(.danger):not(.destructive),
#btnFinalize,
#efx-feedback-submit,
.finder-submit{
  background:var(--efx-action-green-bg)!important;
  border:1px solid var(--efx-action-green-border)!important;
  color:var(--efx-action-green-ink)!important;
  box-shadow:var(--efx-action-shadow)!important;
  text-shadow:none!important;
  filter:none!important;
}
.btn-primary:not(.danger):not(.destructive):hover,
.btn-success:not(.danger):not(.destructive):hover,
.btn-ecofyx:not(.danger):not(.destructive):hover,
.btn.brand:not(.danger):not(.destructive):hover,
.btn.primary:not(.danger):not(.destructive):hover,
.btn.green:not(.danger):not(.destructive):hover,
button.primary:not(.danger):not(.destructive):hover,
a.primary:not(.danger):not(.destructive):hover,
.action.is-primary:not(.danger):not(.destructive):hover,
.topbtn-primary:not(.danger):not(.destructive):hover,
.eco-editor-save:not(.danger):not(.destructive):hover,
.eco-save:not(.danger):not(.destructive):hover,
.eco-primary:not(.danger):not(.destructive):hover,
#btnFinalize:hover,
#efx-feedback-submit:hover,
.finder-submit:hover{
  background:var(--efx-action-green-bg-hover)!important;
  border-color:rgba(25,135,84,.34)!important;
  color:#104c31!important;
  box-shadow:0 9px 24px rgba(15,23,42,.075)!important;
}

/* Ações auxiliares: azul translúcido, separando ação de navegação da ação principal. */
.btn-secondary:not(.danger):not(.destructive),
.btn-light:not(.danger):not(.destructive),
.btn.link:not(.danger):not(.destructive),
.back:not(.danger):not(.destructive),
.link:not(.danger):not(.destructive),
button.secondary:not(.danger):not(.destructive),
a.secondary:not(.danger):not(.destructive){
  background:var(--efx-action-blue-bg)!important;
  border-color:var(--efx-action-blue-border)!important;
  color:var(--efx-action-blue-ink)!important;
  box-shadow:none!important;
}
.btn-secondary:not(.danger):not(.destructive):hover,
.btn-light:not(.danger):not(.destructive):hover,
.btn.link:not(.danger):not(.destructive):hover,
.back:not(.danger):not(.destructive):hover,
.link:not(.danger):not(.destructive):hover,
button.secondary:not(.danger):not(.destructive):hover,
a.secondary:not(.danger):not(.destructive):hover{
  background:var(--efx-action-blue-bg-hover)!important;
  border-color:rgba(37,99,235,.25)!important;
  color:#1e457d!important;
}

/* IA/assistentes: lilás discreto para criar uma segunda cor funcional coerente. */
#btnIaGen,
#btnIaGenBottom,
.ia-btn--primary,
.ai-action,
.assistant-action{
  background:var(--efx-action-purple-bg)!important;
  border:1px solid var(--efx-action-purple-border)!important;
  color:var(--efx-action-purple-ink)!important;
  box-shadow:none!important;
}
#btnIaGen:hover,
#btnIaGenBottom:hover,
.ia-btn--primary:hover,
.ai-action:hover,
.assistant-action:hover{
  background:var(--efx-action-purple-bg-hover)!important;
  border-color:rgba(124,58,237,.26)!important;
  color:#4d337f!important;
}

/* Estados selecionados: suaviza preenchimentos verdes muito sólidos. */
.seg.active,
.tab.active,
.app-nav span.active,
.grade-view button.active,
.ai-view-toggle button.is-active,
.metric-filter-chip.active,
.ecofyx-i18n-switch a.active,
.ecofyx-public-lang-switch a.active{
  background:linear-gradient(135deg,rgba(25,135,84,.11),rgba(59,130,246,.075))!important;
  border-color:rgba(25,135,84,.24)!important;
  color:#18573a!important;
  box-shadow:none!important;
}

/* Chips positivos continuam verdes, porém sem grandes blocos saturados. */
.badge.ok,
.badge.ready,
.badge-active,
.results-badge,
.public-badge.required,
.share-temp-status.active,
.template-entry-state.active{
  background:rgba(25,135,84,.085)!important;
  border-color:rgba(25,135,84,.16)!important;
  color:#17603d!important;
}

/* Foco visível coerente com a paleta multicolorida, sem halo verde pesado. */
.btn:focus-visible,
button:focus-visible,
a.btn:focus-visible{
  outline:3px solid rgba(59,130,246,.18)!important;
  outline-offset:2px;
}

/* Não tocar em ações destrutivas/alerta: vermelho e âmbar preservam semântica. */
.danger,.destructive,.delete,.remove,.btn-danger,.btn-warning,[data-action="delete"],[data-action="remove"]{
  --efx-soft-actions-preserve-semantic:1;
}
