/* Frente 39: fluxo de caixa. Tudo escopado em .fx; usa os tokens --ax-* da Frente 32 com os nomes antigos de reserva. */
.fx{display:flex;flex-direction:column;gap:18px;font-variant-numeric:tabular-nums}
.fx .fx-selo{display:inline-block;margin-bottom:8px;padding:3px 10px;border-radius:var(--ax-raio-pilula,999px);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ax-acento,var(--roxo));background:var(--ax-acento-suave,var(--roxo-s));border:1px solid var(--ax-acento-borda,transparent)}
.fx .fx-mudo{color:var(--ax-texto-mudo,var(--mudo));font-size:12px;font-weight:500}
.fx .up{color:var(--ax-ok,var(--ok))}.fx .down{color:var(--ax-erro,var(--cr))}
.fx .fx-link{font-size:12.5px;font-weight:600;text-decoration:none}
.fx .fx-link:hover{text-decoration:underline}

/* indicadores */
.fx-kpis{display:grid;grid-template-columns:1.25fr repeat(3,1fr) 1.25fr;gap:12px}
.fx-kpi{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 18px;border-radius:var(--ax-raio-l,14px);
  background:var(--ax-superficie-1,var(--card));border:1px solid var(--ax-borda,var(--linha));box-shadow:var(--ax-sombra-1,none);transition:box-shadow .2s,transform .2s}
.fx-kpi:hover{box-shadow:var(--ax-sombra-2,none)}
.fx-kpi small{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ax-texto-mudo,var(--mudo));font-weight:600;display:flex;gap:6px;align-items:baseline}
.fx-kpi small .fx-mudo{letter-spacing:0;text-transform:none;font-size:11px}
.fx-kpi b{font-size:22px;letter-spacing:-.01em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-kpi .fx-delta{font-size:12px;color:var(--ax-texto-mudo,var(--mudo))}
.fx-kpi .fx-delta.up{color:var(--ax-ok,var(--ok))}.fx-kpi .fx-delta.down{color:var(--ax-erro,var(--cr))}
.fx-kpi .fx-cen{font-size:12px;color:var(--ax-alerta,var(--at));border-top:1px dashed var(--ax-borda,var(--linha));padding-top:6px;margin-top:2px}
.fx-kpi .fx-cen b{font-size:12.5px}
.fx-hero{color:#fff;border-color:transparent;background:var(--ax-degrade-marca,linear-gradient(140deg,#9A5BFF,#6E25E0));box-shadow:var(--ax-sombra-acento,0 4px 12px rgba(132,54,254,.28))}
.fx-hero::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 80% at 100% 0%,rgba(255,255,255,.18),transparent 60%)}
.fx-hero small,.fx-hero .fx-delta{color:rgba(255,255,255,.78)}
.fx-hero b{font-size:26px}.fx-hero b.down{color:#FFD5CF}
.fx-alerta{border-color:var(--ax-erro,var(--cr));box-shadow:0 0 0 3px var(--ax-erro-suave,var(--cr-s))}
.fx-min .fx-minf{display:flex;gap:6px}
.fx-min input{flex:1;min-width:0;height:36px;padding:0 10px;border-radius:var(--ax-raio-s,8px);border:1px solid var(--ax-borda-forte,var(--linha));background:var(--ax-campo,var(--campo));
  font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}
.fx-min input:focus{outline:0;border-color:var(--ax-acento,var(--roxo));box-shadow:var(--ax-foco,0 0 0 3px rgba(132,54,254,.16))}
.fx-pill{display:inline-block;align-self:flex-start;max-width:100%;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.3;white-space:normal}
.fx-pill.ok{background:var(--ax-ok-suave,var(--ok-s));color:var(--ax-ok,var(--ok))}
.fx-pill.cr{background:var(--ax-erro-suave,var(--cr-s));color:var(--ax-erro,var(--cr))}
.fx-pill.at{background:var(--ax-alerta-suave,var(--at-s));color:var(--ax-alerta,var(--at))}
.fx-pill.ro{background:var(--ax-acento-suave,var(--roxo-s));color:var(--ax-acento,var(--roxo))}
.fx-pill.ne{background:var(--ax-afundada,var(--bg));color:var(--ax-texto-mudo,var(--mudo))}

/* gráfico */
.fx .box{border-radius:var(--ax-raio-l,14px);box-shadow:var(--ax-sombra-1,none);padding:18px 20px}
.fx-graf-cab{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start}
.fx-graf-cab .nota{margin:4px 0 0}
.fx-cenario{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fx-cenario>span{font-size:12px;color:var(--ax-texto-mudo,var(--mudo));font-weight:500}
.fx-seg{display:inline-flex;gap:2px;padding:3px;border-radius:var(--ax-raio-m,10px);background:var(--ax-afundada,var(--bg));border:1px solid var(--ax-borda,var(--linha))}
.fx-seg button{all:unset;cursor:pointer;padding:5px 11px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--ax-texto-mudo,var(--mudo));transition:background .15s,color .15s}
.fx-seg button:hover{color:var(--ax-texto,var(--fg))}
.fx-seg button:focus-visible{box-shadow:var(--ax-foco,0 0 0 3px rgba(132,54,254,.2))}
.fx-seg button[aria-pressed="true"]{background:var(--ax-superficie-1,var(--card));color:var(--ax-texto,var(--fg));box-shadow:var(--ax-sombra-1,0 1px 2px rgba(0,0,0,.08))}
.fx-leg{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0 6px;font-size:12px;color:var(--ax-texto-mudo,var(--mudo))}
.fx-leg span{display:inline-flex;align-items:center;gap:7px}
.fx-leg i{display:inline-block;width:22px;height:0;border-top:2.5px solid var(--ax-acento,var(--roxo))}
.fx-leg i.l-proj{border-top-style:dashed}
.fx-leg i.l-cen{border-top:2.5px dotted var(--ax-alerta,var(--at))}
.fx-leg i.l-min{border-top:1.5px dashed var(--ax-erro,var(--cr))}
.fx-cv{position:relative;height:320px}

/* duas colunas */
.fx-duas{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fx-h{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-bottom:12px}
.fx-contas,.fx-cats{display:flex;flex-direction:column;gap:12px}
.fx-conta-t,.fx-cat-t{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}
.fx-conta-t span,.fx-cat-t span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-conta-t b,.fx-cat-t b{white-space:nowrap}
.fx-vazia{opacity:.55}
.fx-total{padding-top:12px;border-top:1px solid var(--ax-borda,var(--linha))}
.fx-total .fx-conta-t{font-weight:700;font-size:14.5px}
.fx-trilho{display:flex;height:8px;margin:6px 0 4px;border-radius:999px;overflow:hidden;background:var(--ax-afundada,var(--bg))}
.fx-trilho.fino{height:5px}
.fx-trilho i{display:block;height:100%;transition:width .25s}
.fx-r.e{background:var(--ax-ok,var(--ok))}.fx-r.s{background:var(--ax-erro,var(--cr))}
.fx-p.e{background:var(--ax-ok,var(--ok));opacity:.32}.fx-p.s{background:var(--ax-erro,var(--cr));opacity:.32}
.fx-cat-s{display:flex;gap:6px;font-size:11.5px;color:var(--ax-texto-mudo,var(--mudo))}
.fx-cat-s span:last-child{margin-left:auto}
.fx-conta .fx-cat-s span:last-child{margin-left:0}
.fx-abertos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}
.fx-ab{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:var(--ax-raio-m,10px);background:var(--ax-superficie-2,var(--bg));border:1px solid var(--ax-borda,var(--linha));
  text-decoration:none;color:inherit;transition:border-color .15s}
a.fx-ab:hover{border-color:var(--ax-acento,var(--roxo))}
.fx-ab small{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ax-texto-mudo,var(--mudo));font-weight:600}
.fx-ab b{font-size:17px;white-space:nowrap}

/* tabela */
.fx-wrap{border-radius:var(--ax-raio-m,10px)}
.fx-t td,.fx-t th{white-space:nowrap}
.fx-t tr.fx-l{cursor:pointer;transition:background .15s}
.fx-t tr.fx-l:hover td{background:var(--ax-superficie-3,var(--roxo-s))}
.fx-t tr.fx-l:focus-visible{outline:2px solid var(--ax-acento,var(--roxo));outline-offset:-2px}
.fx-t tr.futuro td{color:var(--ax-texto-2,var(--fg))}
.fx-t tr.futuro td.v b{font-weight:600}
.fx-t td.fx-prev,.fx-t .fx-prev{color:var(--ax-texto-mudo,var(--mudo));font-style:italic}
.fx-t tr.atual td{background:var(--ax-acento-suave,var(--roxo-s))}
.fx-t tr.fx-abaixo td:first-child{box-shadow:inset 3px 0 0 var(--ax-erro,var(--cr))}
.fx-seta{display:inline-block;width:12px;margin-right:4px;color:var(--ax-texto-mudo,var(--mudo));transition:transform .15s}
.fx-seta::before{content:"›";font-weight:700}
.fx-t tr.aberto .fx-seta{transform:rotate(90deg)}
.fx-t tr.fx-det td{background:var(--ax-superficie-2,var(--bg));white-space:normal;padding:10px 14px 12px 30px}
.fx-det-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 18px}
.fx-det-g div{display:flex;gap:8px;align-items:baseline;font-size:12.5px;min-width:0}
.fx-det-g span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ax-texto-2,var(--fg))}
.fx-det-g b{font-weight:600;white-space:nowrap}
.fx-rodape{max-width:900px}

@media screen and (max-width:1200px){.fx-kpis{grid-template-columns:repeat(3,1fr)}.fx-min{grid-column:span 2}}
@media screen and (max-width:900px){.fx-duas{grid-template-columns:1fr}}
@media screen and (max-width:700px){
  .fx-kpis{grid-template-columns:1fr 1fr;gap:10px}.fx-hero,.fx-min{grid-column:span 2}
  .fx-kpi{padding:14px}.fx-kpi b{font-size:19px}.fx-hero b{font-size:24px}
  .fx-cv{height:260px}.fx .box{padding:14px}
  .fx-abertos{grid-template-columns:1fr}
  .fx-cenario{width:100%}.fx-seg{max-width:100%;overflow-x:auto}
}
.fx-seg button{white-space:nowrap}
@media screen and (max-width:700px){.fx-kpis>.fx-kpi:nth-child(4){grid-column:span 2}.fx-seg button{padding:5px 9px}}
