/* Reset global — remove margens e padding padrão do browser */
* {
    box-sizing: border-box;
}

body, html {
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Botões de faixa — CAP ───────────────────────────────────── */
.faixa-btn {
    transition: all 0.2s ease !important;
}

.faixa-btn:hover {
    background-color: #FDECEA !important;
    color: #E53E3E !important;
    border-color: #E53E3E !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(229, 62, 62, 0.2);
}

.faixa-btn-ativo {
    transition: all 0.2s ease !important;
}

.faixa-btn-ativo:hover {
    background-color: #C53030 !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(229, 62, 62, 0.4) !important;
}

/* ── Botões de faixa — CAR ───────────────────────────────────── */
.faixa-btn-car {
    transition: all 0.2s ease !important;
}

.faixa-btn-car:hover {
    background-color: #E3F2FD !important;
    color: #1565C0 !important;
    border-color: #1565C0 !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(21, 101, 192, 0.2);
}

.faixa-btn-car-ativo {
    transition: all 0.2s ease !important;
}

.faixa-btn-car-ativo:hover {
    background-color: #0D47A1 !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(21, 101, 192, 0.4) !important;
}

/* ── Cards ABC — Clientes e Produtos ────────────────────────── */
.card-abc {
    transition: all 0.2s ease !important;
}

.card-abc:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1) !important;
    filter: brightness(0.97);
}

/* ── Navbar — abas layout B ──────────────────────────────────── */
.nav-tab div {
    transition: background-color 0.18s ease !important;
}

.nav-tab:hover div {
    background-color: rgba(255, 255, 255, 0.18) !important;
}

.nav-tab-ativo div {
    transition: box-shadow 0.18s ease !important;
}

.nav-tab-ativo:hover div {
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1) !important;
}
.linha-titulo-car {
    transition: all 0.18s ease !important;
    border-left: 3px solid transparent !important;
}

.linha-titulo-car:hover {
    background-color: #EFF6FF !important;
    border-left: 3px solid #1565C0 !important;
    transform: translateX(3px);
    box-shadow: 2px 0 8px rgba(21, 101, 192, 0.08);
}

.linha-titulo-car:hover .cli-nome-car {
    color: #0D47A1 !important;
}

/* ── Fluxo de Caixa — animações do card de saldo ────────────── */
@keyframes fc-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(1.15); }
}
@keyframes fc-pulse-strong {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.3; transform: scale(1.2); }
}
@keyframes fc-glow-green {
    0%, 100% { box-shadow: 0 0 0 0 rgba(29, 158, 117, 0); }
    50%       { box-shadow: 0 0 14px 3px rgba(29, 158, 117, 0.25); }
}
@keyframes fc-glow-red {
    0%, 100% { box-shadow: 0 0 0 0 rgba(229, 62, 62, 0); }
    50%       { box-shadow: 0 0 18px 4px rgba(229, 62, 62, 0.35); }
}
.fc-pulse        { animation: fc-pulse        1.8s ease-in-out infinite; display: inline-block; }
.fc-pulse-strong { animation: fc-pulse-strong 1s   ease-in-out infinite; display: inline-block; }
.fc-glow-green   { animation: fc-glow-green   2.5s ease-in-out infinite; }
.fc-glow-red     { animation: fc-glow-red     2s   ease-in-out infinite; }
.fc-blink { animation: blink 1s ease-in-out infinite; display: inline-block; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.2} }
/* ── Tabela Gerencial — fonte responsiva ─────────────────────── */
#ct-gerencial .tabela-gerencial-wrap {
    overflow-x: auto;
    width: 100%;
}

#ct-gerencial table {
    font-size: clamp(10px, 1.1vw, 13px);
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
}

#ct-gerencial th {
    font-size: clamp(10px, 1.0vw, 12px) !important;
    padding: clamp(3px, 0.3vw, 5px) clamp(4px, 0.5vw, 8px) !important;
    white-space: nowrap;
}

#ct-gerencial td {
    font-size: clamp(10px, 1.1vw, 13px) !important;
    padding: clamp(3px, 0.3vw, 5px) clamp(4px, 0.5vw, 8px) !important;
    white-space: nowrap;
}

/* ── Chips de marca — Gerencial ─────────────────────────────── */
#ct-gerencial .ger-chip {
    transition: all 0.18s ease !important;
    user-select: none;
}
#ct-gerencial .ger-chip:hover {
    transform: translateY(-1px);
}
#ct-gerencial .ger-chip-geral:hover    { background:#e0f2fe !important; box-shadow: 0 2px 8px rgba(3,105,161,0.2); }
#ct-gerencial .ger-chip-tod:hover      { background:#fef3c7 !important; box-shadow: 0 2px 8px rgba(217,119,6,0.2); }
#ct-gerencial .ger-chip-sao:hover      { background:#f3e8ff !important; box-shadow: 0 2px 8px rgba(147,51,234,0.2); }
#ct-gerencial .ger-chip-mpr:hover      { background:#fff7ed !important; box-shadow: 0 2px 8px rgba(234,88,12,0.2); }
#ct-gerencial .ger-chip-vil:hover      { background:#fce7f3 !important; box-shadow: 0 2px 8px rgba(219,39,119,0.2); }
#ct-gerencial .ger-chip-ita:hover      { background:#fee2e2 !important; box-shadow: 0 2px 8px rgba(220,38,38,0.2); }
#ct-gerencial .ger-chip-ativo:hover    { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(8,80,65,0.4) !important; }

/* ── Abas Gerencial ──────────────────────────────────────────── */
#ct-gerencial .ger-tab {
    transition: all 0.18s ease !important;
}
#ct-gerencial .ger-tab:hover {
    color: #374151 !important;
    background: #f8fafc !important;
}
#ct-gerencial .ger-tab-metas-ativo {
    background: white !important;
    color: #085041 !important;
    font-weight: 700 !important;
    border: 1.5px solid #e5e7eb !important;
    border-bottom-color: white !important;
    box-shadow: inset 0 -3px 0 0 #085041 !important;
}
#ct-gerencial .ger-tab-incent-ativo {
    background: white !important;
    color: #7C3AED !important;
    font-weight: 700 !important;
    border: 1.5px solid #e5e7eb !important;
    border-bottom-color: white !important;
    box-shadow: inset 0 -3px 0 0 #7C3AED !important;
}