/* Inicio / Painel financeiro e lancamento rapido. */
.inicio [data-corpo] { display: flex; flex-direction: column; gap: 14px; }
.inicio [data-pu]:empty { display: none; }
.kpis.seis { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.grade { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 14px; }
.bloco { padding: 18px 20px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.bcab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 6px; }
.bcab b { font-size: calc(15px * var(--fs, 1)); font-weight: 600; }
.bcab .btn { height: 32px; padding: 0 10px; }
.legenda { display: flex; gap: 14px; font-size: calc(12px * var(--fs, 1)); color: var(--color-neutral-300); }
.legenda > span { display: flex; align-items: center; gap: 6px; }
.legenda .q { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.legenda .q.rec { background: var(--graf-rec); }
.legenda .q.desp { background: var(--graf-desp); }

.grafico { position: relative; height: 292px; }
.grafico svg { display: block; }
.eixo-y, .eixo-x { position: absolute; font-size: calc(11.5px * var(--fs, 1)); line-height: 16px; color: var(--color-neutral-300); white-space: nowrap; pointer-events: none; }
.eixo-y { left: 0; }
.eixo-x { top: 272px; transform: translateX(-50%); }
.medias { margin-top: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding-top: 14px; border-top: 1px solid var(--color-divider); }
.media { display: flex; flex-direction: column; gap: 2px; }
.media > span { font-size: calc(12px * var(--fs, 1)); color: var(--color-neutral-300); }
.media b { font-size: calc(16px * var(--fs, 1)); font-weight: 600; }
.media b.rec { color: var(--color-accent-300); }
.media b.desp { color: var(--c-out); }

.lista-rec { display: flex; flex-direction: column; gap: 2px; }
.linha-rec { display: flex; align-items: center; gap: 12px; padding: 8px 6px; border: 0; border-radius: 10px; background: transparent; color: var(--color-text); text-align: left; cursor: pointer; font-family: var(--font-body); width: 100%; }
.linha-rec:hover { background: var(--color-accent-900); }
.linha-rec .ic { width: 32px; height: 32px; border-radius: 10px; background: var(--color-accent-900); color: var(--color-accent-300); display: grid; place-items: center; flex: none; }
.linha-rec .ic.entrada { background: var(--c-ok-soft); color: var(--c-ok); }
.linha-rec .ic .ph { font-size: calc(16px * var(--fs, 1)); }
.linha-rec .tx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.linha-rec .tx b { font-size: calc(13px * var(--fs, 1)); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.linha-rec .tx span { font-size: calc(11.5px * var(--fs, 1)); color: var(--color-neutral-300); }
.linha-rec .v { font-size: calc(13px * var(--fs, 1)); font-weight: 600; white-space: nowrap; }
.linha-rec .v.entrada { color: var(--c-ok); }

/* Uma grade so para todas as linhas (subgrid): a barra comeca no mesmo x em todas (CC-17). */
.lista-obras { display: grid; grid-template-columns: minmax(0, 1fr) minmax(calc(200px * var(--fs, 1)), max-content) max-content; column-gap: 18px; }
.lista-obras > .vazio-tela { grid-column: 1 / -1; }
.linha-obra { grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; align-items: center; padding: 10px 6px; border-top: 1px solid var(--color-divider); color: var(--color-text); text-decoration: none; }
.linha-obra .num { justify-self: end; text-align: right; }
.linha-obra .pct { white-space: nowrap; }
.linha-obra:hover { background: var(--color-accent-900); }
.linha-obra .tx { display: flex; flex-direction: column; min-width: 0; }
.linha-obra .tx b { font-size: calc(13.5px * var(--fs, 1)); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.linha-obra .tx span { font-size: calc(11.5px * var(--fs, 1)); color: var(--color-neutral-300); }
.linha-obra .uso { display: flex; flex-direction: column; gap: 5px; }
.linha-obra .num { font-size: calc(13px * var(--fs, 1)); white-space: nowrap; }
.bar > .normal { background: var(--graf-rec); }
.bar > .alerta { background: var(--graf-warn); }
.bar > .estourado { background: var(--graf-err); }
.pct { font-size: calc(11.5px * var(--fs, 1)); font-weight: 600; }
.pct.alerta { color: var(--c-warn); }
.pct.estourado { color: var(--c-err); }

.lista-cat { display: flex; flex-direction: column; gap: 12px; }
.linha-cat { display: flex; flex-direction: column; gap: 5px; }
.linha-cat .topo { display: flex; justify-content: space-between; gap: 12px; font-size: calc(12.5px * var(--fs, 1)); }
.linha-cat .topo b { font-weight: 600; white-space: nowrap; }
.linha-cat .bar > span { background: var(--graf-rec); }

.primeiro-uso { padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.pu-cab { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pu-cab .tit { display: flex; flex-direction: column; gap: 2px; }
.pu-cab b { font-size: calc(15px * var(--fs, 1)); font-weight: 600; }
.pu-cab .muted { font-size: calc(13px * var(--fs, 1)); }
.pu-passos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.pu-passo { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border-radius: 10px; background: var(--color-bg); font-size: calc(12px * var(--fs, 1)); }
.pu-passo > .ph, .pu-passo > .ph-fill { font-size: calc(17px * var(--fs, 1)); color: var(--color-field); flex: none; }
.pu-passo.feito > .ph-fill { color: var(--c-ok); }
.pu-passo .tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pu-passo .tx b { font-size: calc(12.5px * var(--fs, 1)); font-weight: 600; }
.pu-passo .tx span { color: var(--color-neutral-300); }
.pu-passo .n { font-weight: 700; color: var(--color-neutral-300); }

.form-rapido { display: flex; flex-direction: column; gap: 16px; }
.form-rapido > .seg { align-self: flex-start; }
.form-rapido .seg button { height: 34px; padding: 0 16px; }
.form-rapido .fld > .seg { align-self: flex-start; }
.duas { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nota { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: var(--color-accent-900); font-size: calc(13px * var(--fs, 1)); line-height: 1.5; }
.nota .ph { font-size: calc(17px * var(--fs, 1)); color: var(--color-accent-300); margin-top: 1px; flex: none; }
.resumo-ok { padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; font-size: calc(13px * var(--fs, 1)); }
.resumo-ok > span { display: flex; justify-content: space-between; gap: 16px; }
.resumo-ok b { font-weight: 600; text-align: right; }
.ok-tela { flex: 0 0 auto; padding-top: 80px; }

@media (max-width: 1379px) {
  .pu-passos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lista-obras { grid-template-columns: minmax(0, 1fr) minmax(calc(130px * var(--fs, 1)), max-content) max-content; column-gap: 12px; }
}
/* C5: seis indicadores no desktop com escala; conteudo longo quebra sem corte. */
.inicio .cab { flex-wrap: wrap; }
.inicio .bcab, .inicio .legenda { flex-wrap: wrap; }
.inicio .linha-rec { flex-wrap: wrap; }
.inicio .linha-rec .tx { flex-basis: 120px; }
.inicio .linha-rec .tx b, .inicio .linha-obra .tx b {
  white-space: normal; overflow: visible; overflow-wrap: anywhere;
}
.inicio .linha-rec .v { margin-left: auto; }
.inicio .linha-rec .tx span, .inicio .linha-cat .topo > span { overflow-wrap: anywhere; }
.form-rapido { flex-shrink: 0; }
.form-rapido .duas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1199px) {
  .inicio .kpis.seis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
