/* Financeiro da administração de aluguéis (financeiro.js) */
.fin-abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.fin-aba{border:1px solid var(--line);background:#fff;color:var(--navy-deep);border-radius:99px;padding:8px 16px;font-weight:800;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.fin-aba.ativa{background:var(--navy);border-color:var(--navy);color:#fff}
.fin-aba .nav-badge{position:static}
.fin-toolbar input[type=month]{max-width:170px}
.fin-toolbar input[type=search]{flex:1;min-width:200px}
.fin-cards{grid-template-columns:repeat(6,minmax(0,1fr))}
.fin-cards .crm-resumo-item strong{font-size:20px}
.crm-resumo-item.fin-alerta{box-shadow:inset 0 0 0 2px #e2a29a,0 6px 18px rgba(20,59,76,.06)}
.crm-resumo-item.fin-alerta strong{color:#a33a2f}
.fin-avisos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:6px}
.fin-aviso{padding:14px 16px}
.fin-aviso header{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.fin-aviso header h3{margin:0;font-size:15px;color:var(--navy-deep);flex:1}
.fin-aviso header .nav-badge{position:static}
.fin-aviso ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fin-aviso li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;border-bottom:1px solid var(--line);padding-bottom:7px}
.fin-aviso li:last-child{border-bottom:0}
.fin-aviso li .text-button{font-weight:800;text-align:left;padding:0}
.fin-aviso li small{color:var(--muted);flex-basis:100%}
.fin-aviso .crm-btn-contato{padding:3px 9px;font-size:12px}
.fin-tabela{min-width:0!important}
.fin-tabela td{vertical-align:top}
.fin-sub{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.fin-acoes{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.fin-mini{padding:6px 11px!important;font-size:12.5px!important}
.status-pill.fin-paga{background:#dff4e8;color:#247346}
.status-pill.fin-aberta{background:#e6f3fb;color:#1a6f99}
.status-pill.fin-hoje{background:#fff3d6;color:#8a5a00}
.status-pill.fin-atrasada{background:#f7e3e0;color:#a33a2f}
.status-pill.fin-cancelada{background:#eef2f3;color:var(--muted)}
.fin-txt-alerta{color:#a33a2f}
.fin-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:10px}
.fin-grade label{display:grid;gap:4px}
.fin-itens{display:grid;gap:8px;margin:6px 0 8px}
.fin-item{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto;gap:8px;align-items:center}
.fin-item input{min-width:0}
.fin-ct-resumo{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;background:#f5fbff;border:1px solid #cfe8f5;border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:13.5px}
.fin-ct-acoes{display:grid;gap:8px;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.fin-ct-acoes details{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fbfdfe}
.fin-ct-acoes summary{cursor:pointer;font-weight:800;color:var(--navy-deep)}
.fin-ct-acoes details[open] summary{margin-bottom:10px}
.fin-historico{margin-top:14px}
.fin-historico ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px;font-size:13px}
.fin-historico small{color:var(--muted)}
.fin-previa{display:grid;gap:8px;background:#f5fbff;border:1px dashed #9fd4ee;border-radius:12px;padding:10px 12px;margin-bottom:10px}
.fin-previa div{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;justify-content:space-between}
.fin-previa span{font-size:12px;color:var(--muted);font-weight:700}
.fin-previa small{flex-basis:100%;color:var(--muted)}
.fin-previa-repasse{border-top:1px solid #cfe8f5;padding-top:8px}
/* impressão: recibo e demonstrativo */
.fin-impressao:not([hidden]){position:fixed;inset:0;z-index:3000;background:#eef2f3;overflow:auto;padding:16px;display:block}
.fin-imp-barra{display:flex;gap:8px;justify-content:center;margin-bottom:14px}
.fin-doc{max-width:720px;margin:0 auto;background:#fff;color:#1d2b33;padding:34px 38px;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.08);font-size:14px;line-height:1.55}
.fin-doc header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--navy-deep);padding-bottom:12px;margin-bottom:18px}
.fin-doc header div{display:grid}
.fin-doc header strong{font-size:18px;color:var(--navy-deep)}
.fin-doc header span{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.fin-doc-tabela{width:100%;border-collapse:collapse;margin:14px 0;min-width:0!important}
.fin-doc-tabela td{padding:7px 4px;border-bottom:1px solid #e3e9ec}
.fin-doc-tabela td:last-child{text-align:right;white-space:nowrap}
.fin-doc-tabela tr.forte td{font-weight:800;font-size:15px;border-top:2px solid var(--navy-deep);border-bottom:0}
.fin-doc-rodape{color:var(--muted);font-size:12.5px}
.fin-doc footer{margin-top:46px;display:flex;justify-content:flex-end}
.fin-assinatura{border-top:1px solid #1d2b33;padding-top:6px;min-width:260px;text-align:center;font-size:13px}
@media print{
  body.fin-imprimindo > *:not(#finImpressao){display:none!important}
  body.fin-imprimindo .fin-impressao{position:static;background:#fff;padding:0;overflow:visible}
  body.fin-imprimindo .fin-imp-barra{display:none}
  body.fin-imprimindo .fin-doc{box-shadow:none;max-width:none;padding:0}
}
@media(max-width:1100px){.fin-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* até tablet: cada linha vira um cartão (a tabela larga escondia os botões à direita) */
@media(max-width:1180px){
  .fin-tabela thead{display:none}
  .fin-tabela,.fin-tabela tbody,.fin-tabela tr,.fin-tabela td{display:block;width:auto}
  .fin-tabela tbody{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;padding:10px}
  .fin-tabela tr{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
  .fin-tabela td{border:0;padding:2px 0}
  .fin-tabela td[data-r]::before{content:attr(data-r);display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:4px}
  .fin-acoes{justify-content:flex-start;margin-top:8px}
}
@media(max-width:780px){
  .fin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fin-tabela tbody{grid-template-columns:1fr;padding:0}
  .fin-item{grid-template-columns:minmax(0,1fr) 110px auto}
  .fin-item .check-inline{grid-column:1/-1;order:3}
  .fin-doc{padding:20px 18px}
}
/* Régua de cobrança, encargos, manutenção e rescisão (financeiro-extra.js) */
.fx-painel{padding:16px}
.fx-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.fx-topo p{margin:0;flex:1;min-width:240px}
.fx-grupo{margin-bottom:16px}
.fx-grupo h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:15px;color:var(--navy-deep)}
.fx-grupo h3 .nav-badge{position:static}
.fx-atraso h3{color:#a33a2f}
.fx-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
.fx-cartao{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;display:grid;gap:4px}
.fx-cartao.fx-pendente{box-shadow:inset 4px 0 0 #e0a23a}
.fx-cartao header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.fx-cartao small{color:var(--muted);font-size:12px}
.fx-valor{font-size:19px;font-weight:800;color:var(--navy-deep)}
.fx-valor small{display:block;font-size:11px;font-weight:600}
.fx-ultimo{font-style:italic}
.fx-cartao .fin-acoes{justify-content:flex-start;margin-top:6px}
.fx-prior{display:inline-flex;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:800;background:#eef2f3;color:var(--muted)}
.fx-prior-media{background:#e6f3fb;color:#1a6f99}
.fx-prior-alta{background:#fff3d6;color:#8a5a00}
.fx-prior-urgente{background:#f7e3e0;color:#a33a2f}
.fx-res-listas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:10px 0}
.fx-res-linha{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:6px;margin-bottom:6px}
.fx-res-quadro{background:#f7fafb;border:1px solid var(--line);border-radius:12px;padding:6px 12px;margin-top:10px}
.fx-res-feita{border:1px solid #e3c9c4;background:#fdf5f3;border-radius:12px;padding:10px 12px}
.fx-res-feita p{margin:4px 0 8px}
.fx-ch-nota{display:flex;gap:8px;margin-bottom:8px}
.fx-ch-nota input{flex:1}
.fx-historico{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:240px;overflow:auto}
.fx-historico li{border-left:3px solid var(--line);padding:2px 0 2px 9px;font-size:13.5px}
.fx-historico li small{display:block;color:var(--muted);font-size:11.5px}
.fx-historico li.fx-ev-status{border-left-color:var(--navy)}
.fx-historico li.fx-ev-comentario{border-left-color:#e0a23a}
.fin-doc footer.fx-assinaturas{justify-content:space-between;gap:16px;flex-wrap:wrap}
.fx-assinaturas .fin-assinatura{min-width:180px;flex:1}
@media(max-width:780px){.fx-cartoes{grid-template-columns:1fr}.fx-res-linha{grid-template-columns:minmax(0,1fr) 90px auto}}
/* contrato: tipo (locação | compra e venda) e imóvel não cadastrado */
#finContratoDialog .finalidade-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px}
#finContratoDialog .finalidade-row .campo-rotulo{font-weight:800;color:var(--navy-deep);min-width:120px}
.fin-grade .fin-largo{grid-column:span 2}
.fin-avulso{background:#f6f9fb;border:1px dashed var(--line);border-radius:12px;padding:10px}
@media(max-width:560px){.fin-grade .fin-largo{grid-column:auto}#finContratoDialog .finalidade-row .campo-rotulo{min-width:0;width:100%}}
