/* ============================================================
   ORBISJUR — SISTEMA GLOBAL DE CORES PARA BOTÕES
   Carregado por último para padronizar Bootstrap e componentes
   próprios sem remover o significado de sucesso/alerta/erro.
   ============================================================ */

:root {
  --orbis-brand-navy: #0B1D3A;
  --orbis-brand-navy-hover: #07162D;
  --orbis-brand-blue: #1565FF;
  --orbis-brand-blue-hover: #0F53D4;
  --orbis-brand-blue-active: #0B45B3;
  --orbis-brand-orange: #FF7A00;
  --orbis-brand-orange-hover: #E66E00;

  --orbis-btn-secondary: #475569;
  --orbis-btn-secondary-hover: #334155;
  --orbis-btn-success: #168A62;
  --orbis-btn-success-hover: #11724F;
  --orbis-btn-danger: #C83232;
  --orbis-btn-danger-hover: #A92727;
  --orbis-btn-info: #0E7490;
  --orbis-btn-info-hover: #0B5D74;
  --orbis-btn-warning: #FF9A2E;
  --orbis-btn-warning-hover: #F18718;

  /* Cor operacional das ações: navy. O azul vivo fica reservado a acentos. */
  --orbis-action-primary: var(--orbis-brand-navy);
  --orbis-action-primary-hover: #123E7A;
  --orbis-action-primary-active: var(--orbis-brand-navy-hover);
  --orbis-action-focus: rgba(255, 122, 0, .28);

  --orbis-primary: var(--orbis-action-primary);
  --orbis-primary-hover: var(--orbis-action-primary-hover);
  --saas-primary: var(--orbis-action-primary);
  --saas-primary-hover: var(--orbis-action-primary-hover);
  --c-primary: var(--orbis-action-primary);
  --c-primary-hover: var(--orbis-action-primary-hover);
  --orb-primary: var(--orbis-action-primary);
  --orb-primary-light: rgba(11, 29, 58, 0.10);

  --bs-primary: #1565FF;
  --bs-primary-rgb: 21, 101, 255;
  --bs-link-color: #1565FF;
  --bs-link-hover-color: #0F53D4;
}

/* Base comum */
.btn,
.orbis-btn,
.btn-saas,
.btn-product,
.btn-premium,
.btn-submit,
.btn-login,
.btn-upload,
.btn-convert,
.btn-confirm,
.btn-cancel {
  transition: background-color .18s ease, border-color .18s ease,
              color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.btn:focus-visible,
.orbis-btn:focus-visible,
.btn-saas:focus-visible,
.btn-product:focus-visible,
.btn-premium:focus-visible,
.btn-submit:focus-visible,
.btn-login:focus-visible,
.btn-upload:focus-visible,
.btn-convert:focus-visible,
.btn-confirm:focus-visible,
.btn-cancel:focus-visible {
  outline: 3px solid var(--orbis-action-focus);
  outline-offset: 2px;
  box-shadow: none;
}

/* Bootstrap: ação principal — navy com acento laranja */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--orbis-action-primary);
  --bs-btn-border-color: var(--orbis-action-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-action-primary-hover);
  --bs-btn-hover-border-color: var(--orbis-action-primary-hover);
  --bs-btn-focus-shadow-rgb: 255, 122, 0;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--orbis-action-primary-active);
  --bs-btn-active-border-color: var(--orbis-action-primary-active);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #64748B;
  --bs-btn-disabled-border-color: #64748B;
  box-shadow: inset 0 -3px 0 var(--orbis-brand-orange), 0 5px 12px rgba(11, 29, 58, .16);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.show {
  box-shadow: inset 0 -3px 0 var(--orbis-brand-orange), 0 7px 16px rgba(11, 29, 58, .22);
}

.btn-outline-primary {
  --bs-btn-color: var(--orbis-action-primary);
  --bs-btn-border-color: #64748B;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-action-primary);
  --bs-btn-hover-border-color: var(--orbis-action-primary);
  --bs-btn-focus-shadow-rgb: 255, 122, 0;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--orbis-action-primary-hover);
  --bs-btn-active-border-color: var(--orbis-action-primary-hover);
  background-color: #fff;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary.show {
  box-shadow: inset 0 -2px 0 var(--orbis-brand-orange);
}

/* Secundário / neutro */
.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--orbis-btn-secondary);
  --bs-btn-border-color: var(--orbis-btn-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-btn-secondary-hover);
  --bs-btn-hover-border-color: var(--orbis-btn-secondary-hover);
  --bs-btn-focus-shadow-rgb: 71, 85, 105;
  --bs-btn-active-bg: var(--orbis-brand-navy);
  --bs-btn-active-border-color: var(--orbis-brand-navy);
}

.btn-outline-secondary {
  --bs-btn-color: #475569;
  --bs-btn-border-color: #94A3B8;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-btn-secondary);
  --bs-btn-hover-border-color: var(--orbis-btn-secondary);
  --bs-btn-focus-shadow-rgb: 71, 85, 105;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--orbis-btn-secondary-hover);
  --bs-btn-active-border-color: var(--orbis-btn-secondary-hover);
}

/* Estados semânticos */
.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--orbis-btn-success);
  --bs-btn-border-color: var(--orbis-btn-success);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-btn-success-hover);
  --bs-btn-hover-border-color: var(--orbis-btn-success-hover);
  --bs-btn-focus-shadow-rgb: 22, 138, 98;
  --bs-btn-active-bg: #0E6243;
  --bs-btn-active-border-color: #0E6243;
}

.btn-outline-success {
  --bs-btn-color: var(--orbis-btn-success);
  --bs-btn-border-color: var(--orbis-btn-success);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-btn-success);
  --bs-btn-hover-border-color: var(--orbis-btn-success);
  --bs-btn-focus-shadow-rgb: 22, 138, 98;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--orbis-btn-danger);
  --bs-btn-border-color: var(--orbis-btn-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-btn-danger-hover);
  --bs-btn-hover-border-color: var(--orbis-btn-danger-hover);
  --bs-btn-focus-shadow-rgb: 200, 50, 50;
  --bs-btn-active-bg: #8F2020;
  --bs-btn-active-border-color: #8F2020;
}

.btn-outline-danger {
  --bs-btn-color: var(--orbis-btn-danger);
  --bs-btn-border-color: var(--orbis-btn-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-btn-danger);
  --bs-btn-hover-border-color: var(--orbis-btn-danger);
  --bs-btn-focus-shadow-rgb: 200, 50, 50;
}

.btn-warning {
  --bs-btn-color: var(--orbis-brand-navy);
  --bs-btn-bg: var(--orbis-btn-warning);
  --bs-btn-border-color: var(--orbis-btn-warning);
  --bs-btn-hover-color: var(--orbis-brand-navy);
  --bs-btn-hover-bg: var(--orbis-btn-warning-hover);
  --bs-btn-hover-border-color: var(--orbis-btn-warning-hover);
  --bs-btn-focus-shadow-rgb: 255, 122, 0;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--orbis-brand-orange-hover);
  --bs-btn-active-border-color: var(--orbis-brand-orange-hover);
}

.btn-outline-warning {
  --bs-btn-color: #B84E00;
  --bs-btn-border-color: var(--orbis-brand-orange);
  --bs-btn-hover-color: var(--orbis-brand-navy);
  --bs-btn-hover-bg: var(--orbis-btn-warning);
  --bs-btn-hover-border-color: var(--orbis-btn-warning);
  --bs-btn-focus-shadow-rgb: 255, 122, 0;
}

.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--orbis-btn-info);
  --bs-btn-border-color: var(--orbis-btn-info);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-btn-info-hover);
  --bs-btn-hover-border-color: var(--orbis-btn-info-hover);
  --bs-btn-focus-shadow-rgb: 14, 116, 144;
}

.btn-outline-info {
  --bs-btn-color: var(--orbis-btn-info);
  --bs-btn-border-color: var(--orbis-btn-info);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-btn-info);
  --bs-btn-hover-border-color: var(--orbis-btn-info);
  --bs-btn-focus-shadow-rgb: 14, 116, 144;
}

/* Escuros e claros */
.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--orbis-brand-navy);
  --bs-btn-border-color: var(--orbis-brand-navy);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--orbis-brand-navy-hover);
  --bs-btn-hover-border-color: var(--orbis-brand-navy-hover);
  --bs-btn-focus-shadow-rgb: 11, 29, 58;
}

.btn-light,
.btn-white {
  --bs-btn-color: #334155;
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #CBD5E1;
  --bs-btn-hover-color: var(--orbis-brand-navy);
  --bs-btn-hover-bg: #F1F5F9;
  --bs-btn-hover-border-color: #94A3B8;
  --bs-btn-focus-shadow-rgb: 100, 116, 139;
}

.btn-link {
  --bs-btn-color: var(--orbis-brand-blue);
  --bs-btn-hover-color: var(--orbis-brand-blue-hover);
  --bs-btn-active-color: var(--orbis-brand-blue-active);
  text-decoration: none;
}

/* Sistemas internos de botões */
.orbis-btn {
  text-decoration: none !important;
}

.orbis-btn-primary,
.btn-saas-primary,
.btn-product-primary,
.btn-premium-primary,
.btn-login,
.btn-submit,
.btn-upload,
.btn-convert {
  background: linear-gradient(135deg, var(--orbis-action-primary) 0%, #123E7A 100%) !important;
  border-color: var(--orbis-action-primary) !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: inset 0 -3px 0 var(--orbis-brand-orange), 0 6px 14px rgba(11, 29, 58, .18) !important;
}

.orbis-btn-primary:hover,
.orbis-btn-primary:focus,
.btn-saas-primary:hover,
.btn-product-primary:hover,
.btn-premium-primary:hover,
.btn-login:hover,
.btn-submit:hover,
.btn-upload:hover,
.btn-convert:hover {
  background: linear-gradient(135deg, #123E7A 0%, var(--orbis-action-primary) 100%) !important;
  border-color: var(--orbis-action-primary) !important;
  color: #fff !important;
  box-shadow: inset 0 -3px 0 var(--orbis-brand-orange), 0 8px 18px rgba(11, 29, 58, .24) !important;
}

/* Classes usadas pelas barras de ação/listagens */
.orbis-btn-outline-primary {
  background: #fff !important;
  border-color: #64748B !important;
  color: var(--orbis-action-primary) !important;
  text-decoration: none !important;
}

.orbis-btn-outline-primary:hover,
.orbis-btn-outline-primary:focus,
.orbis-btn-outline-primary.show {
  background: var(--orbis-action-primary) !important;
  border-color: var(--orbis-action-primary) !important;
  color: #fff !important;
  box-shadow: inset 0 -2px 0 var(--orbis-brand-orange) !important;
}

.orbis-btn-outline-secondary,
.orbis-btn-outline,
.btn-saas-outline,
.btn-product-secondary,
.btn-cancel {
  background: #fff !important;
  border-color: #CBD5E1 !important;
  color: #475569 !important;
  text-decoration: none !important;
}

.orbis-btn-outline-secondary:hover,
.orbis-btn-outline-secondary:focus,
.orbis-btn-outline:hover,
.btn-saas-outline:hover,
.btn-product-secondary:hover,
.btn-cancel:hover {
  background: #F1F5F9 !important;
  border-color: #94A3B8 !important;
  color: var(--orbis-action-primary) !important;
}

.btn-product-danger,
.btn-delete-premium {
  color: var(--orbis-btn-danger);
  border-color: rgba(200, 50, 50, .25);
}

.btn-product-danger:hover,
.btn-delete-premium:hover {
  background: var(--orbis-btn-danger);
  border-color: var(--orbis-btn-danger);
  color: #fff;
}

.quick-add-btn,
.add-lead-btn:hover {
  color: var(--orbis-action-primary);
  border-color: var(--orbis-action-primary);
}

.quick-add-btn:hover {
  color: var(--orbis-action-primary-hover);
}

/* FullCalendar, paginação e plugins */
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
  background-color: var(--orbis-action-primary) !important;
  border-color: var(--orbis-action-primary) !important;
  color: #fff !important;
}

.pagination .page-link {
  color: var(--orbis-brand-blue);
}

.pagination .page-link:hover {
  color: var(--orbis-brand-blue-hover);
  background: #EDF4FF;
}

.pagination .page-item.active .page-link {
  background: var(--orbis-action-primary);
  border-color: var(--orbis-action-primary);
  color: #fff;
}

.dt-button,
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  border-color: #CBD5E1 !important;
  color: #334155 !important;
}

.dt-button:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: #F1F5F9 !important;
  border-color: var(--orbis-action-primary) !important;
  color: var(--orbis-action-primary) !important;
}

/* SweetAlert2 */
.swal2-styled.swal2-confirm {
  background: var(--orbis-action-primary) !important;
  border-color: var(--orbis-action-primary) !important;
  box-shadow: none !important;
}

.swal2-styled.swal2-confirm:hover {
  background: var(--orbis-action-primary-hover) !important;
}

.swal2-styled.swal2-cancel {
  background: var(--orbis-btn-secondary) !important;
}

.swal2-styled.swal2-deny {
  background: var(--orbis-btn-danger) !important;
}

/* Botão Novo do cabeçalho: navy + detalhe laranja da marca */
.btn-new-orbis {
  background: linear-gradient(135deg, var(--orbis-brand-navy) 0%, #123E7A 100%);
  border-color: var(--orbis-brand-navy);
  color: #fff;
}

.btn-new-orbis:hover,
.btn-new-orbis:focus,
.btn-new-orbis.show {
  background: linear-gradient(135deg, #123E7A 0%, var(--orbis-action-primary) 100%);
  border-color: var(--orbis-brand-navy);
  color: #fff;
}

/* Desabilitados */
.btn:disabled,
.btn.disabled,
.orbis-btn:disabled,
.btn-saas:disabled,
.btn-product:disabled,
.btn-premium:disabled {
  opacity: .58;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* Ações específicas e alternadores de visualização */
.btn-open {
  background: #F1F5F9;
  border-color: #CBD5E1;
  color: var(--orbis-action-primary);
}

.btn-open:hover {
  background: var(--orbis-action-primary);
  border-color: var(--orbis-action-primary);
  color: #fff;
  box-shadow: inset 0 -2px 0 var(--orbis-brand-orange);
}

.btn-config {
  background: #F8FAFC;
  border-color: #CBD5E1;
  color: #475569;
}

.btn-config:hover {
  background: #F1F5F9;
  border-color: #94A3B8;
  color: var(--orbis-brand-navy);
}

.btn-print {
  background: var(--orbis-action-primary);
  border-color: var(--orbis-action-primary);
  color: #fff;
  box-shadow: inset 0 -3px 0 var(--orbis-brand-orange);
}

.btn-print:hover {
  background: var(--orbis-action-primary-hover);
  border-color: var(--orbis-action-primary-hover);
  color: #fff;
}

.view-btn.active,
.view-toggle-group .view-btn.active,
.toggle-view-btn.active,
.tab-btn.active {
  background: var(--orbis-action-primary) !important;
  color: #fff !important;
  border-color: var(--orbis-action-primary) !important;
  box-shadow: inset 0 -2px 0 var(--orbis-brand-orange) !important;
}

.quick-action-btn:hover,
.tool-btn:hover {
  background-color: var(--orbis-action-primary);
  border-color: var(--orbis-action-primary);
  color: #fff;
  box-shadow: inset 0 -2px 0 var(--orbis-brand-orange);
}

/* Evita cores antigas em botões de ação personalizados */
.action-button {
  box-shadow: 0 4px 15px rgba(11, 29, 58, .20);
}

.action-button:hover:not(:disabled) {
  box-shadow: 0 8px 25px rgba(11, 29, 58, .28);
}

.orbis-btn-outline.active,
.orbis-btn-outline[aria-pressed="true"] {
  background: var(--orbis-action-primary) !important;
  border-color: var(--orbis-action-primary) !important;
  color: #fff !important;
  box-shadow: inset 0 -2px 0 var(--orbis-brand-orange) !important;
}


/* ============================================================
   CORREÇÃO DE ESPECIFICIDADE — barras de ação e cabeçalhos
   Evita retorno do azul Bootstrap em páginas de listagem.
   ============================================================ */
.official-page-header__actions .btn-outline-primary,
.orbis-view-toggle .orbis-btn.active,
.d-flex .orbis-btn-primary {
  text-decoration: none !important;
}

.official-page-header__actions .btn-outline-primary {
  color: var(--orbis-action-primary) !important;
  border-color: #64748B !important;
  background: #fff !important;
}

.official-page-header__actions .btn-outline-primary:hover,
.official-page-header__actions .btn-outline-primary:focus {
  color: #fff !important;
  background: var(--orbis-action-primary) !important;
  border-color: var(--orbis-action-primary) !important;
  box-shadow: inset 0 -2px 0 var(--orbis-brand-orange) !important;
}

.orbis-view-toggle .orbis-btn.active {
  color: #fff !important;
  background: var(--orbis-action-primary) !important;
  border-color: var(--orbis-action-primary) !important;
  box-shadow: inset 0 -2px 0 var(--orbis-brand-orange) !important;
}
