/* Paleta do Bússola — carregada por último, sobrepõe o tema do boilerplate.
   Claro: verde-azulado. Escuro: o mesmo matiz, escurecido. Destaque: dourado. */

:root, [data-bs-theme="light"] {
    --bussola-teal: #0F6E7A;
    --bussola-teal-hover: #0C5A64;
    --bussola-teal-active: #0A4B54;
    --bussola-gold: #F2B544;
    --bussola-gold-ink: #0E2A47;
    --bussola-chrome: #0F6E7A; /* cabeçalho e faixa do logo */

    --bs-blue: #0F6E7A;
    --bs-primary: #0F6E7A;
    --bs-primary-rgb: 15, 110, 122;
    --bs-primary-text-emphasis: #083D44;
    --bs-primary-bg-subtle: #D7ECEF;
    --bs-primary-border-subtle: #A9D3D9;
    --bs-dark: #0B4750;
    --bs-dark-rgb: 11, 71, 80;
    --bs-link-color: #0F6E7A;
    --bs-link-color-rgb: 15, 110, 122;
    --bs-link-hover-color: #0A4B54;
    --bs-link-hover-color-rgb: 10, 75, 84;
    --bs-focus-ring-color: rgba(15, 110, 122, 0.25);
    --bb-primary-color: #0F6E7A;
    --bb-primary-color-rgb: 15, 110, 122;
}

[data-bs-theme="dark"] {
    --bussola-teal: #1F8E9C;
    --bussola-teal-hover: #2BA3B1;
    --bussola-teal-active: #187683;
    --bussola-chrome: #12292E;

    --bs-blue: #1F8E9C;
    --bs-primary: #1F8E9C;
    --bs-primary-rgb: 31, 142, 156;
    --bs-primary-text-emphasis: #7FD3DD;
    --bs-primary-bg-subtle: #0C2A2F;
    --bs-primary-border-subtle: #14515A;
    --bs-link-color: #5CC4D0;
    --bs-link-color-rgb: 92, 196, 208;
    --bs-link-hover-color: #8ADBE4;
    --bs-link-hover-color-rgb: 138, 219, 228;
    --bs-focus-ring-color: rgba(43, 163, 177, 0.3);
    --bb-primary-color: #1F8E9C;
    --bb-primary-color-rgb: 31, 142, 156;

    /* Superfícies: grafite com matiz verde-azulado no lugar do roxo do boilerplate. */
    --bs-body-bg: #0D1C1F;
    --bs-body-bg-rgb: 13, 28, 31;
    --bs-secondary-bg: #1B3338;
    --bs-secondary-bg-rgb: 27, 51, 56;
    --bs-tertiary-bg: #142A2E;
    --bs-tertiary-bg-rgb: 20, 42, 46;
    --bs-border-color: #27444A;
    --bs-border-color-translucent: rgba(160, 215, 222, 0.15);
}

/* ===== Botões e controles primários ===== */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bussola-teal);
    --bs-btn-border-color: var(--bussola-teal);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bussola-teal-hover);
    --bs-btn-hover-border-color: var(--bussola-teal-hover);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bussola-teal-active);
    --bs-btn-active-border-color: var(--bussola-teal-active);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bussola-teal);
    --bs-btn-disabled-border-color: var(--bussola-teal);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}

.btn-outline-primary {
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-border-color: var(--bussola-teal);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bussola-teal);
    --bs-btn-hover-border-color: var(--bussola-teal);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bussola-teal-active);
    --bs-btn-active-border-color: var(--bussola-teal-active);
    --bs-btn-disabled-color: var(--bussola-teal);
    --bs-btn-disabled-border-color: var(--bussola-teal);
}

.btn-link {
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-hover-color: var(--bs-link-hover-color);
}

.btn-dark {
    --bs-btn-bg: var(--bs-dark);
    --bs-btn-border-color: var(--bs-dark);
    --bs-btn-disabled-bg: var(--bs-dark);
    --bs-btn-disabled-border-color: var(--bs-dark);
}

.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate {
    background-color: var(--bussola-teal);
    border-color: var(--bussola-teal);
}

.form-range::-webkit-slider-thumb {
    background-color: var(--bussola-teal);
}

.form-range::-moz-range-thumb {
    background-color: var(--bussola-teal);
}

.dropdown-menu {
    --bs-dropdown-link-active-bg: var(--bussola-teal);
    --bs-dropdown-link-active-color: #fff;
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--bussola-teal);
}

.pagination {
    --bs-pagination-color: var(--bs-link-color);
    --bs-pagination-hover-color: var(--bs-link-hover-color);
    --bs-pagination-active-bg: var(--bussola-teal);
    --bs-pagination-active-border-color: var(--bussola-teal);
}

.progress, .progress-stacked {
    --bs-progress-bar-bg: var(--bussola-teal);
}

.list-group {
    --bs-list-group-active-bg: var(--bussola-teal);
    --bs-list-group-active-border-color: var(--bussola-teal);
}

.alert-primary {
    background: var(--bussola-teal);
}

.icon-primary {
    background-color: var(--bussola-teal);
}

.tab .nav-tabs .nav-link:hover:not(.active) {
    color: var(--bs-link-color);
}

/* ===== Casca do layout ===== */
.wrapper:before,
[data-bs-theme="dark"] .wrapper:before {
    background: var(--bussola-chrome);
}

.layout,
[data-bs-theme="dark"] .layout {
    --bb-layout-header-background: var(--bussola-chrome);
    --bb-layout-header-border-color: var(--bussola-chrome);
    --bb-layout-headerbar-background: var(--bussola-chrome);
    --bb-layout-sidebar-banner-background: var(--bussola-chrome);
    --bb-layout-logo-bg: var(--bussola-chrome);
    --bb-layout-banner-border-color: var(--bussola-chrome);
    --bb-layout-menu-user-banner-background: var(--bussola-chrome);
}

[data-bs-theme="dark"] .layout .layout-header {
    background-color: var(--bussola-chrome);
}

[data-bs-theme="dark"] .layout .layout-side,
[data-bs-theme="dark"] .layout .layout-menu,
[data-bs-theme="dark"] .sidebar-user {
    background: #0F2126;
    background-color: #0F2126;
}

[data-bs-theme="dark"] .card {
    --bs-card-bg: #142A2E;
}

[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer {
    background-color: #142A2E;
}

[data-bs-theme="dark"] .modal {
    --bs-modal-bg: #142A2E;
}

/* ===== Menu lateral: item ativo em dourado ===== */
.menu {
    --bb-menu-active-color: var(--bussola-gold-ink);
    --bb-menu-bar-bg: var(--bussola-gold);
}

.layout .layout-menu .menu .nav-link.active,
.layout .layout-menu .menu .submenu .nav-link.active,
[data-bs-theme] .layout .layout-menu .menu .nav-link.active,
[data-bs-theme] .layout .layout-menu .menu .submenu .nav-link.active {
    background-color: var(--bussola-gold);
    color: var(--bussola-gold-ink);
    font-weight: 600;
}

.layout .layout-menu .menu .nav-link.active i,
.layout .layout-menu .menu .nav-link.active .fa,
.layout .layout-menu .menu .nav-link.active .fas {
    color: var(--bussola-gold-ink);
}

/* O link "raiz" de um grupo (ex.: /faturas) casa por prefixo e fica ativo junto com
   o irmão mais específico (/faturas/gastos-por-portador). Quando há outro ativo
   depois dele, volta ao estado normal; em rota de detalhe (/faturas/12) segue dourado. */
[data-bs-theme] .layout .layout-menu .menu .submenu li:has(~ li > .nav-link.active) > .nav-link.active {
    background-color: transparent;
    color: var(--bs-nav-link-color);
    font-weight: inherit;
}

[data-bs-theme] .layout .layout-menu .menu .submenu li:has(~ li > .nav-link.active) > .nav-link.active:hover {
    background-color: #e9ecef;
    color: #212529;
}

.layout .layout-menu .menu .submenu li:has(~ li > .nav-link.active) > .nav-link.active i {
    color: inherit;
}

/* ===== Badge secundário =====
   No tema do boilerplate o "secondary" é cinza-claro e o texto do badge é branco:
   ilegível nos dois temas. Vira etiqueta neutra na paleta, com texto contrastante. */
.badge.bg-secondary,
.badge.text-bg-secondary {
    background-color: var(--bs-primary-bg-subtle) !important;
    color: var(--bs-primary-text-emphasis) !important;
    border: 1px solid var(--bs-primary-border-subtle);
}
