/* Lancamentos: filtros, tabela, rodape, formulario, documentos e estorno. */
.filtros { padding: 14px 16px; display: flex; flex-direction: column; gap: 12px; }
.filtros .linha { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.campo-busca { position: relative; flex: 0 1 300px; min-width: 220px; }
.campo-busca > .ph { position: absolute; left: 12px; top: 11px; font-size: calc(18px * var(--fs, 1)); color: var(--color-neutral-300); pointer-events: none; }
.campo-busca .inp { padding-left: 38px; }
.campo-busca input::-webkit-search-cancel-button { display: none; }
.filtros .mini { display: flex; align-items: center; gap: 8px; font-size: calc(12.5px * var(--fs, 1)); font-weight: 600; color: var(--color-neutral-300); }
/* Selects pela largura da maior opcao (nunca cortam com --fs); o minimo vem no style de cada um. */
.filtros select.inp { width: auto; max-width: 100%; }
.filtros .mini .inp { width: calc(160px * var(--fs, 1)); }
.filtros .inp:disabled { opacity: .5; }

.tabela { overflow: hidden; }
.tabela .tbl { table-layout: auto; }
.tabela .tbl td { font-size: calc(13px * var(--fs, 1)); }
.tabela .data { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.tabela .data .ph { color: var(--color-neutral-300); }
.tabela .vencido, .resumo-cob .vencido { color: var(--c-err); }
.duas-l { display: flex; flex-direction: column; min-width: 0; }
.duas-l b { font-size: calc(13px * var(--fs, 1)); font-weight: 600; }
.duas-l span { font-size: calc(11.5px * var(--fs, 1)); color: var(--color-neutral-300); }
.duas-l.desc { max-width: 380px; }
.duas-l.desc b, .duas-l.desc span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tabela b.entrada { color: var(--c-ok); }
.acoes { display: inline-flex; justify-content: flex-end; gap: 2px; }
.acoes .ibtn { width: 32px; height: 32px; }
.acoes .cont { position: absolute; top: -2px; right: -3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 10px; background: var(--color-accent-600); color: #fefefe; font: 700 calc(11.5px * var(--fs, 1))/18px var(--font-body); box-shadow: 0 0 0 2px var(--color-surface); }
.rodape { display: flex; align-items: center; gap: 16px; padding: 12px 16px; border-top: 1px solid var(--color-divider); font-size: calc(13px * var(--fs, 1)); }
.rodape .total { margin-left: auto; }
.rodape .total b { margin-left: 6px; font-variant-numeric: tabular-nums; }
.rodape .total b.entrada { color: var(--c-ok); }
.rodape .pager { display: inline-flex; gap: 6px; }
.rodape .pager .btn { height: 32px; width: 36px; padding: 0; }
.faixa.fechado { padding: 12px 16px; }
.faixa.fechado .btn { height: 34px; }

.form-lanc { display: flex; flex-direction: column; gap: 16px; }
.form-lanc > .seg { align-self: flex-start; }
.form-lanc .seg button { height: 34px; padding: 0 16px; }
.form-lanc .fld > .seg { align-self: flex-start; }

.resumo-lanc { padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; background: var(--color-bg); box-shadow: none; }
.resumo-lanc b { font-size: calc(14px * var(--fs, 1)); font-weight: 600; }
.resumo-lanc .muted { font-size: calc(12px * var(--fs, 1)); }
.resumo-lanc .muted b { font-size: calc(12px * var(--fs, 1)); }
.resumo-lanc b.entrada { color: var(--c-ok); }
.soltar { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px; border-radius: 12px; border: 1.5px dashed var(--color-field); text-align: center; cursor: pointer; transition: background-color .15s ease, border-color .15s ease; }
.soltar .ph { color: var(--color-accent-300); }
.soltar b { font-size: calc(13.5px * var(--fs, 1)); font-weight: 600; }
.soltar .muted { font-size: calc(12px * var(--fs, 1)); }
.soltar:hover, .soltar.sobre { background: var(--color-accent-900); border-color: var(--color-accent-500); }
.soltar.enviando { opacity: .6; pointer-events: none; }
.doc { padding: 10px 12px; display: flex; align-items: center; gap: 12px; }
.doc .ic { width: 34px; height: 34px; border-radius: 10px; background: var(--color-accent-900); color: var(--color-accent-300); display: grid; place-items: center; flex: none; }
.doc .tx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.doc .tx b { font-size: calc(13px * var(--fs, 1)); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc .tx span { font-size: calc(11.5px * var(--fs, 1)); color: var(--color-neutral-300); }

@media (max-width: 1379px) {
  .duas-l.desc { max-width: 240px; }
  .tabela .tbl th, .tabela .tbl td { padding-left: 10px; padding-right: 10px; }
}
.lista-docs { display: flex; flex-direction: column; gap: 10px; }
/* C5: a pagina e o corpo do painel sao os unicos donos da rolagem. */
.lancamentos .tabela { overflow: visible; }
.lancamentos .tabela .tbl { table-layout: fixed; }
.lancamentos .tbl th:nth-child(1), .lancamentos .tbl th:nth-child(2) { width: 10%; }
.lancamentos .tbl th:nth-child(3) { width: 11%; }
.lancamentos .tbl th:nth-child(4) { width: 15%; }
.lancamentos .tbl th:nth-child(6) { width: 14%; }
.lancamentos .tbl th:nth-child(7) { width: 11%; }
.lancamentos .tbl th { white-space: normal; overflow-wrap: anywhere; }
.lancamentos .duas-l, .lancamentos .duas-l.desc, .obra .duas-l.desc { max-width: none; overflow-wrap: anywhere; }
.lancamentos .duas-l.desc b, .lancamentos .duas-l.desc span, .obra .duas-l.desc b, .obra .duas-l.desc span { white-space: normal; overflow: visible; } /* aba Lancamentos da obra igual a tela Lancamentos (X1) */
.lancamentos .rodape { flex-wrap: wrap; }
.lancamentos .filtros .seg { flex-wrap: wrap; max-width: 100%; }
.lancamentos .filtros .mini { flex-wrap: wrap; }
.lancamentos .filtros .inp { max-width: 100%; }
.form-lanc { flex-shrink: 0; }
.form-lanc .duas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.resumo-lanc, .lanc-dados { flex-shrink: 0; overflow-wrap: anywhere; }
.drawer:has(.form-lanc, .form-rapido, .lanc-dados, .resumo-lanc) .dtit { overflow-wrap: anywhere; }
.drawer:has(.resumo-lanc) .faixa { flex-shrink: 0; font-weight: 400; }
