/**
 * Padrão de botões GESTH — todos os módulos.
 * Primário: #053F08 preenchido | Secundário: outline #053F08
 * Carregar por último (depois do tema).
 */
:root {
    --gesth-btn: #053F08;
    --gesth-btn-hover: #042d06;
    --gesth-btn-danger: #dd5a43;
    --button-border: #053F08;
    --button-text-color: #053F08;
    --button-text-color-hover: #042d06;
    --button-border-radius: 4px;
}

/* ---- Primário (Bootstrap / tema) ---- */
.btn-primary,
a.btn-primary,
.ui-widget-content a.btn-primary,
.btn-success,
a.btn-success,
.btn.btn-primary,
.btn.btn-success {
    background-color: var(--gesth-btn) !important;
    border: 1px solid var(--gesth-btn) !important;
    color: #fff !important;
    border-radius: 4px !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn.btn-primary:hover,
.btn.btn-success:hover {
    background-color: var(--gesth-btn-hover) !important;
    border-color: var(--gesth-btn-hover) !important;
    color: #fff !important;
    opacity: 1 !important;
}
.btn-primary i,
.btn-primary [class*="fa-"],
.btn-success i,
.btn-success [class*="fa-"],
.btn.btn-primary i,
.btn.btn-success i {
    color: #fff !important;
}

/* Primário com style inline (GesthUi / Jurídico) */
button.btn[style*="background-color:#053F08"],
button.btn[style*="background:#053F08"],
a.btn[style*="background-color:#053F08"],
a.btn[style*="background:#053F08"] {
    background-color: #053F08 !important;
    border-color: #053F08 !important;
    color: #fff !important;
}
button.btn[style*="background-color:#053F08"] i,
button.btn[style*="background:#053F08"] i,
a.btn[style*="background-color:#053F08"] i,
a.btn[style*="background:#053F08"] i {
    color: #fff !important;
}

/* ---- Secundário (btn-default) — listagens e formulários ---- */
.btn.btn-default,
a.btn.btn-default,
.btn-default,
a.btn-default {
    background-color: #fff !important;
    border: 1px solid var(--gesth-btn) !important;
    color: var(--gesth-btn) !important;
    border-radius: 4px !important;
}
.btn.btn-default:hover,
a.btn.btn-default:hover,
.btn-default:hover,
a.btn-default:hover {
    background-color: #f3f8f3 !important;
    border-color: var(--gesth-btn) !important;
    color: var(--gesth-btn-hover) !important;
}
.btn.btn-default i,
.btn.btn-default [class*="fa-"],
.btn-default i,
.btn-default [class*="fa-"],
a.btn-default i,
a.btn-default [class*="fa-"] {
    color: var(--gesth-btn) !important;
}

/* Outline inline (GesthUi::styleOutline) */
button.btn.btn-default[style*="053F08"],
a.btn.btn-default[style*="053F08"] {
    background-color: #fff !important;
    border-color: #053F08 !important;
    color: #053F08 !important;
}
button.btn.btn-default[style*="053F08"] i,
a.btn.btn-default[style*="053F08"] i {
    color: #053F08 !important;
}

/*
 * Listagens (datagrid-header-actions):
 * Cadastrar/Novo (ícone plus) → primário preenchido, como no Jurídico.
 * Demais (Filtros, Atualizar, Limpar, Exportar) → outline.
 */
.datagrid-header-actions .btn.btn-default,
.datagrid-header-actions a.btn.btn-default,
.datagrid-header-actions .btn.dropdown-toggle {
    background-color: #fff !important;
    border: 1px solid var(--gesth-btn) !important;
    color: var(--gesth-btn) !important;
    border-radius: 4px !important;
}
.datagrid-header-actions .btn.btn-default i,
.datagrid-header-actions .btn.dropdown-toggle i,
.datagrid-header-actions .btn.btn-default [class*="fa-"] {
    color: var(--gesth-btn) !important;
}

.datagrid-header-actions .btn:has(.fa-plus):not(.dropdown-toggle),
.datagrid-header-actions .btn:has(.fa-plus-circle):not(.dropdown-toggle),
.header-actions .btn:has(.fa-plus):not(.dropdown-toggle),
.card-header .btn:has(.fa-plus):not(.dropdown-toggle),
.panel-heading .btn:has(.fa-plus):not(.dropdown-toggle) {
    background-color: var(--gesth-btn) !important;
    border-color: var(--gesth-btn) !important;
    color: #fff !important;
}
.datagrid-header-actions .btn:has(.fa-plus):not(.dropdown-toggle) i,
.datagrid-header-actions .btn:has(.fa-plus-circle):not(.dropdown-toggle) i,
.header-actions .btn:has(.fa-plus):not(.dropdown-toggle) i,
.card-header .btn:has(.fa-plus):not(.dropdown-toggle) i,
.panel-heading .btn:has(.fa-plus):not(.dropdown-toggle) i {
    color: #fff !important;
}

/* Rodapé / cabeçalho de formulário */
.card-footer button.btn:not(.btn-primary):not(.btn-success):not(.btn-danger),
.panel-footer button.btn:not(.btn-primary):not(.btn-success):not(.btn-danger),
.card-footer a.btn:not(.btn-primary):not(.btn-success):not(.btn-danger),
.panel-footer a.btn:not(.btn-primary):not(.btn-success):not(.btn-danger),
.panel-heading button.btn.btn-default,
.card-header button.btn.btn-default,
.right-panel button.btn.btn-default,
.right-panel a.btn.btn-default {
    background-color: #fff !important;
    border: 1px solid var(--gesth-btn) !important;
    color: var(--gesth-btn) !important;
    border-radius: 4px !important;
    padding: 6px 14px !important;
}
.card-footer button.btn:not(.btn-primary):not(.btn-success):not(.btn-danger) i,
.panel-footer button.btn:not(.btn-primary):not(.btn-success):not(.btn-danger) i,
.card-footer a.btn:not(.btn-primary):not(.btn-success):not(.btn-danger) i,
.panel-footer a.btn:not(.btn-primary):not(.btn-success):not(.btn-danger) i,
.panel-heading button.btn.btn-default i,
.card-header button.btn.btn-default i,
.right-panel button.btn.btn-default i {
    color: var(--gesth-btn) !important;
}

/* Lixeira permanece vermelha */
.btn-danger i,
.btn-danger [class*="fa-"],
.btn-default i.fa-trash,
.btn-default i.fa-trash-alt,
.btn-default [class*="fa-trash"],
a.btn-default i.fa-trash,
a.btn-default i.fa-trash-alt {
    color: var(--gesth-btn-danger) !important;
}

.card-footer .btn,
.panel-footer .btn,
.panel-heading .btn,
.card-header .btn,
.datagrid-header-actions .btn {
    border-radius: 4px !important;
}
