/* Cobrança: boletos, remessa, retorno e antecipação (Pages/Financeiro/Cobranca).
   Global (não isolado) porque os componentes aparecem dentro de PIPainelLateral / CpPIModal. */

.bo-contas { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.bo-conta {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
    border: 1px solid var(--mud-palette-lines-default); border-radius: 10px; background: var(--mud-palette-surface);
    padding: 8px 14px; cursor: pointer; min-width: 180px; text-align: left; color: inherit;
}
.bo-conta b { font-size: .95rem; }
.bo-conta small { color: var(--mud-palette-text-secondary); }
.bo-conta.ativo { border-color: var(--mud-palette-primary); box-shadow: 0 0 0 2px rgba(89, 74, 226, .15); }
.bo-conta.ativo b { color: var(--mud-palette-primary); }

.bo-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 12px; }
.bo-busca { min-width: 240px; flex: 1 1 260px; max-width: 420px; }
.bo-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.bo-chip-filtro {
    border: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); color: inherit;
    border-radius: 16px; padding: 3px 12px; font-size: .82rem; cursor: pointer;
}
.bo-chip-filtro.ativo { background: var(--mud-palette-primary); border-color: var(--mud-palette-primary); color: #fff; }
.bo-chip-filtro .bo-qtd { margin-left: 6px; opacity: .75; }

.bo-lista { display: flex; flex-direction: column; gap: 4px; }
.bo-linha {
    display: grid; grid-template-columns: 32px minmax(90px, 1fr) minmax(160px, 3fr) 110px 120px minmax(150px, 2fr) 40px;
    align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px; background: var(--mud-palette-surface); cursor: pointer;
}
.bo-linha:hover { border-color: var(--mud-palette-primary-lighten); }
.bo-linha.marcada { background: rgba(89, 74, 226, .06); border-color: var(--mud-palette-primary); }
.bo-linha.inativa { opacity: .6; }
.bo-linha b { display: block; }
.bo-linha small { display: block; color: var(--mud-palette-text-secondary); font-size: .78rem; line-height: 1.25; }
.bo-linha .r { text-align: right; }
.bo-linha .neg { color: var(--mud-palette-error); }
.bo-linha-titulo { grid-template-columns: 32px minmax(160px, 3fr) 110px 120px minmax(120px, 1.5fr); }

.bo-cab { font-size: .75rem; text-transform: uppercase; color: var(--mud-palette-text-secondary); padding: 0 10px; }
.bo-cab.bo-linha { background: transparent; border: none; cursor: default; }

.bo-vazio { text-align: center; padding: 32px 12px; color: var(--mud-palette-text-secondary); }
.bo-vazio .mud-icon-root { opacity: .5; }

.bo-selecao {
    position: sticky; bottom: 8px; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
    margin-top: 12px; padding: 10px 16px; border-radius: 10px; background: var(--mud-palette-primary); color: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .18);
}
.bo-selecao .bo-total { font-size: 1.05rem; font-weight: 600; }
.bo-selecao .mud-button-root:not(.mud-button-filled) { color: inherit; }

/* chips de situação */
.bo-chip { display: inline-block; border-radius: 12px; padding: 1px 9px; font-size: .74rem; font-weight: 600; white-space: nowrap; background: #eceff1; color: #455a64; }
.bo-st-digitado, .bo-ev-pendente, .bo-ar-aberto, .bo-rt-importado, .bo-ri-pendente, .bo-an-aberta { background: #fff3e0; color: #e65100; }
.bo-st-emremessa, .bo-ev-emarquivo, .bo-ar-gerado { background: #e3f2fd; color: #1565c0; }
.bo-st-remessaenviada, .bo-ev-enviado, .bo-ar-efetivado { background: #ede7f6; color: #4527a0; }
.bo-st-registrado, .bo-ev-confirmado, .bo-ar-processado, .bo-rt-processado, .bo-ri-processado, .bo-an-efetivada { background: #e8f5e9; color: #2e7d32; }
.bo-st-liquidado { background: #2e7d32; color: #fff; }
.bo-st-rejeitado, .bo-ev-rejeitado, .bo-rt-comerros, .bo-ri-erro, .bo-ri-naolocalizado { background: #ffebee; color: #c62828; }
.bo-st-protestado { background: #fce4ec; color: #ad1457; }
.bo-st-baixado, .bo-st-cancelado, .bo-ev-estornado, .bo-ar-estornado, .bo-ri-ignorado, .bo-an-estornada { background: #eceff1; color: #78909c; }
.bo-chip-info { background: #e0f7fa; color: #00838f; }

/* tipo de ocorrência do retorno */
.bo-oc { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
.bo-oc-entradaconfirmada, .bo-oc-instrucaoconfirmada { color: #2e7d32; }
.bo-oc-liquidacao { color: #1b5e20; }
.bo-oc-entradarejeitada, .bo-oc-instrucaorejeitada { color: #c62828; }
.bo-oc-baixa, .bo-oc-tarifa, .bo-oc-outros { color: #607d8b; }
.bo-oc-cartorio, .bo-oc-protestado { color: #ad1457; }

/* cartões (remessas, retornos, antecipações) */
.bo-card {
    border: 1px solid var(--mud-palette-lines-default); border-radius: 10px; background: var(--mud-palette-surface);
    margin-bottom: 8px; overflow: hidden;
}
.bo-card-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 10px 14px; cursor: pointer; }
.bo-card-cab .bo-card-titulo { flex: 1 1 220px; min-width: 0; }
.bo-card-cab .bo-card-titulo b { display: block; }
.bo-card-cab .bo-card-titulo small { color: var(--mud-palette-text-secondary); }
.bo-card-cab .bo-num { text-align: right; min-width: 90px; }
.bo-card-cab .bo-num small { display: block; color: var(--mud-palette-text-secondary); font-size: .72rem; }
.bo-card-corpo { border-top: 1px solid var(--mud-palette-lines-default); padding: 10px 14px; background: var(--mud-palette-background-gray, #fafafa); }

.bo-tabela { width: 100%; border-collapse: collapse; font-size: .85rem; }
.bo-tabela th { text-align: left; font-weight: 600; font-size: .74rem; text-transform: uppercase; color: var(--mud-palette-text-secondary); padding: 4px 6px; border-bottom: 1px solid var(--mud-palette-lines-default); }
.bo-tabela td { padding: 5px 6px; border-bottom: 1px solid var(--mud-palette-lines-default); vertical-align: top; }
.bo-tabela td small { display: block; color: var(--mud-palette-text-secondary); }
.bo-tabela .r { text-align: right; white-space: nowrap; }
.bo-tabela tr.bo-erro td { background: rgba(198, 40, 40, .05); }

.bo-kpis { display: flex; flex-wrap: wrap; gap: 18px; margin: 6px 0 12px; }
.bo-secao { margin: 18px 0 8px; font-weight: 600; display: flex; align-items: center; gap: 8px; }

.bo-upload {
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px; margin-bottom: 14px;
    border: 1px dashed var(--mud-palette-lines-default); border-radius: 10px;
}
.bo-upload small { color: var(--mud-palette-text-secondary); }

.bo-historico { display: flex; flex-direction: column; gap: 6px; }
.bo-hist { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; border-bottom: 1px dashed var(--mud-palette-lines-default); }
.bo-hist-texto { flex: 1; }
.bo-hist-texto small { display: block; color: var(--mud-palette-text-secondary); }

@media (max-width: 900px) {
    .bo-linha { grid-template-columns: 28px 1fr 1fr; }
    .bo-linha > :nth-child(n+4) { grid-column: span 1; }
    .bo-cab.bo-linha { display: none; }
}
