/* Financeiro — só o que o app.css não cobre. Cores: só tokens (escala de tom). */
.fin-mes{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border-radius:var(--pill);border:0;box-shadow:0 1px 2px rgba(31,26,23,.04),0 12px 32px -24px rgba(90,40,40,.22);padding:3px}
.fin-mes .btn{min-height:32px;width:32px;border:0}
.fin-mes span{min-width:132px;text-align:center;font-weight:500;font-size:14px;white-space:nowrap}
.fin-grande{font-size:40px;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.fin .kpi .v .err-t{color:var(--err)}
.fin .kpi.destaque .v .err-t{color:var(--err)}

/* Meta */
.fin-meta-n{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.fin-meta-n>b{font-size:22px;font-weight:600;color:var(--b-700)}
.fin-prog{position:relative;height:14px;border-radius:7px;background:var(--line-2)}
.fin-prog>span{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,var(--tan-2),var(--tan-4) 55%,var(--tan-6))}
.fin-prog>em{position:absolute;top:-5px;bottom:-5px;width:2px;margin-left:-1px;background:var(--ink);border-radius:1px}
.fin-meta-s{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:18px}
.fin-meta-s span{display:block;font-size:12.5px;color:var(--muted)}
.fin-meta-s b{font-weight:600;font-variant-numeric:tabular-nums}

/* Listas de pendências */
.fin-itens{padding:4px 22px 10px}
.fin-itens>li{gap:12px}
.fin-itens .t2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fin-itens b{white-space:nowrap}
.card.p0 .vazio{padding:28px 20px 34px}
.fin-cta{display:flex;justify-content:center;padding:4px 22px 22px}

/* Para onde foi o dinheiro */
.fin-pilha{display:flex;height:42px;border-radius:12px;overflow:hidden;gap:2px;background:var(--line-2)}
.fin-pilha i{min-width:3px}
.fin-pilha .t1{background:var(--tan-1)}.fin-pilha .t2{background:var(--tan-2)}.fin-pilha .t3{background:var(--tan-3)}
.fin-pilha .t4{background:var(--tan-4)}.fin-pilha .t5{background:var(--tan-5)}.fin-pilha .t6{background:var(--tan-6)}
.fin-leg{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px 24px}
.fin-leg li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:14px}
.fin-leg .c{flex:1;min-width:0}
.fin-leg b{font-weight:600}
.fin-leg .faint{width:48px;text-align:right;font-size:12.5px}

/* Fluxo de caixa (entradas para cima, saídas para baixo) */
.fin-tot{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin-left:auto}
.fin-tot b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.tom.fin-e{background:var(--tan-4)} .tom.fin-s{background:var(--tan-6)}
.fin-fluxo{display:flex;gap:clamp(1px,.4vw,4px);height:180px;padding:4px 0;position:relative}
.fin-fluxo::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.fin-fluxo .c{flex:1;min-width:0;display:grid;grid-template-rows:1fr 1fr;border-radius:4px}
.fin-fluxo .c:hover{background:var(--surface-2)}
.fin-fluxo .c.hoje{background:var(--b-50)}
.fin-fluxo i{display:block;width:100%;max-width:22px;justify-self:center}
.fin-fluxo .e{align-self:end;background:var(--tan-4);border-radius:4px 4px 0 0}
.fin-fluxo .s{align-self:start;background:var(--tan-6);border-radius:0 0 4px 4px}
.fin-eixo{display:flex;justify-content:space-between;font-size:11.5px;color:var(--faint);margin-top:6px}

/* Próximos 30 dias */
.fin-agenda{padding:0 22px 12px;max-height:520px;overflow:auto}
.fin-agenda .dia{padding-top:10px}
.fin-agenda .dt{font-size:12.5px;font-weight:600;color:var(--muted);padding:6px 0 2px}
.fin-agenda .lista>li{padding:9px 0}
.fin-agenda .tom{flex:none}
.fin-diferida .fin-grande{margin:2px 0 8px;color:var(--b-700)}

/* Despesas / extrato */
.fin-desc span{font-weight:500}
.fin-desc small{display:block;font-size:12.5px}
.fin-rec{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fin-rec span{flex:1 1 260px}
.fin-per{gap:12px}
.fin-datas{display:inline-flex;align-items:center;gap:8px}
.fin-datas input{width:auto}

/* DRE */
.fin-dre{width:100%;border-collapse:collapse;font-size:14.5px}
.fin-dre td{padding:9px 0;border-bottom:1px solid var(--line-2)}
.fin-dre td.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px}
.fin-dre td.faint{width:64px;font-size:12.5px}
.fin-dre tr:not(.tot):not(.res) td:first-child{padding-left:16px;color:var(--ink-2)}
.fin-dre tr.tot td{font-weight:600;border-bottom-color:var(--line)}
.fin-dre tr.res td{font-weight:600;letter-spacing:-.025em;border:0;padding-top:16px;font-size:15px;}
.fin-dre tr.res td.faint{font-family:var(--ui);font-size:13px}
.fin-h3{font-size:14px;font-weight:600;margin-bottom:4px}
.fin-cats>li{padding:9px 0}
.fin-tres{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 18px}
.fin-dupla{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fin-dupla.t3{grid-template-columns:repeat(3,1fr)}
.fin-dupla>div{background:var(--surface-2);border-radius:var(--r-m);padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.fin-dupla span{font-size:13px}
.fin-dupla b{font-size:36px;line-height:1.05;font-weight:400}

/* Heatmap de horários */
.fin-heat{display:grid;grid-template-columns:44px repeat(var(--cols),minmax(30px,1fr));gap:4px;overflow-x:auto;padding-bottom:4px}
.fin-heat .hh{font-size:11.5px;color:var(--faint);text-align:center}
.fin-heat .dd{font-size:12.5px;color:var(--muted);align-self:center}
.fin-heat .cel-tom{min-height:30px;display:grid;place-items:center}
.fin-escala{display:flex;align-items:center;gap:4px;margin-top:12px;font-size:12px;color:var(--faint)}
.fin-escala i{width:18px;height:10px;padding:0;border-radius:3px}
.fin-escala span:first-child{margin-right:4px}.fin-escala span:last-child{margin-left:4px}

/* Comissões */
.fin-com details{border-top:1px solid var(--line-2)}
.fin-com details:first-child{border-top:0}
.fin-com summary{display:flex;align-items:center;gap:12px;padding:16px 22px;cursor:pointer;list-style:none}
.fin-com summary::-webkit-details-marker{display:none}
.fin-com summary:hover{background:var(--surface-2)}
.fin-com summary .c{flex:1;min-width:0}
.fin-com summary .t1{font-weight:600}.fin-com summary .t2{font-size:13px;color:var(--muted)}
.fin-com summary b{font-size:24px;font-weight:400}
.fin-com summary .seta{color:var(--faint);transition:transform .2s}
.fin-com details[open] summary .seta{transform:rotate(90deg)}
.fin-com details .tabela-wrap{background:var(--surface-2);border-top:1px solid var(--line-2)}
.fin-com details .t th{background:var(--surface-2)}

/* Configurar */
.fin-taxas input{width:110px;min-height:36px;text-align:right;display:inline-block}
.fin-pad{padding:4px 22px 20px}

/* Sheets */
.fin-sheet-v{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--b-50);border-radius:var(--r-m);margin-bottom:16px}
.fin-sheet-v b{font-weight:600;letter-spacing:-.025em;font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.fin-kv{margin-bottom:16px}
.fin-kv>li{padding:9px 0;font-size:14px}
.fin-kv b{font-weight:500;text-align:right}

@media (max-width:700px){
  .fin .card-h .fin-tot{margin-left:0}
  .fin-itens{padding:0 16px 8px}
  .fin-agenda{padding:0 16px 10px;max-height:none}
  .fin-taxas input{width:100px}
  .fin-com summary{padding:14px 16px}
  .fin-com details .t.resp tr{padding:10px 16px}
}
@media (max-width:460px){
  .fin .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fin .kpi{padding:14px}
  .fin .kpi .v{font-size:20px}
  .fin .kpi.destaque{grid-column:1/-1}
  .fin .kpi.destaque .v{font-size:26px}
  .fin .kpi .d{font-size:12px}
  .fin-mes{width:100%;justify-content:space-between}
  .fin-mes span{flex:1}
  .fin-grande{font-size:32px}
  .fin-fluxo{height:140px}
  .fin-datas{width:100%}.fin-datas input{flex:1;min-width:0}
  .filtros select{flex:1 1 calc(50% - 10px)}
  .fin-dupla b{font-size:30px}
  .fin-dupla.t3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fin-dupla>div{padding:12px}
  .fin-meta-s{grid-template-columns:1fr 1fr}
}
.fin .kpi.destaque .up{color:var(--ok);font-weight:600}.fin .kpi.destaque .down{color:var(--err);font-weight:600}
@media (max-width:460px){.fin .kpis .kpi.destaque:first-child~.kpi:last-child:nth-child(even){grid-column:1/-1}}
.fin-sel{display:flex;gap:10px;flex-wrap:wrap}
.fin-per .seg{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
.fin-per .seg button{white-space:nowrap}
@media (max-width:700px){.fin-sel{display:grid;grid-template-columns:1fr 1fr;width:100%}.fin-sel select{width:100%;min-width:0}}
@media (min-width:701px){.fin-catl{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.fin-catl>li:nth-child(2){border-top:0}}
.fin-catl .linha{padding:2px 0}
