/* Dashboard: DRE de caixa, gasto por categoria, custo fixo e produção (2026-10-14).
   Segue o mockup validado; usa só os tokens de app.css. */
.dd-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;}
.dd-kpis .kpi .num{font-size:19px;}

.dd-row{display:grid;grid-template-columns:1fr 130px 70px 170px;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.dd-row .n{color:var(--ink-soft);}
.dd-row .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;}
.dd-row .p{text-align:right;color:var(--ink-faint);font-size:12px;}
.dd-row .b{height:8px;background:var(--bg);border-radius:6px;overflow:hidden;}
.dd-row .b i{display:block;height:100%;background:var(--debit);opacity:.75;border-radius:6px;}
.dd-row.tot,.dd-row.soc{margin:0 -22px;padding:11px 22px;border-bottom:none;}
.dd-row.tot{background:var(--accent-soft);}
.dd-row.tot .n{color:var(--sidebar-bg);font-weight:700;}
.dd-row.tot .v{font-family:var(--unbounded);font-weight:700;font-size:14px;color:var(--sidebar-bg);}
.dd-row.tot .b i{background:var(--accent-deep);opacity:1;}
.dd-row.rec .n{color:var(--ink);font-weight:600;}
.dd-row.rec .b i{background:var(--accent);opacity:1;}
.dd-row.rev .n{color:var(--warn);}
.dd-row.rev .b i{background:var(--warn);opacity:.8;}
.dd-row.soc{background:var(--info-soft);}
.dd-row.soc .b i{background:var(--info);opacity:1;}
.dd-peq{font-size:12px;}
.dd-nota{font-size:12px;color:var(--ink-soft);background:var(--warn-soft);border-radius:8px;padding:9px 12px;margin-top:12px;line-height:1.5;}
.dd-nota.neutro{background:var(--bg);}

.dd-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px;}
.dd-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:12.5px;color:var(--ink-soft);font-weight:500;cursor:pointer;font-family:inherit;}
.dd-chip.on{background:var(--sidebar-bg);border-color:var(--sidebar-bg);color:var(--accent);font-weight:600;}
.dd-chip.rev{border-color:var(--warn);color:var(--warn);background:var(--warn-soft);}
.dd-chip.rev.on{background:var(--warn);border-color:var(--warn);color:#fff;}

.dd-bar{display:grid;grid-template-columns:280px 1fr 150px;gap:12px;align-items:center;padding:6px 0;font-size:13px;}
.dd-bar.fixo{grid-template-columns:250px 1fr 120px;}
.dd-bar.sm{grid-template-columns:165px 1fr 90px;}
.dd-bar.mot{grid-template-columns:200px 1fr 50px;}
.dd-bar .l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dd-bar .l small{color:var(--ink-faint);margin-left:4px;}
.dd-bar .l.w{color:var(--warn);}
.dd-bar .t{height:11px;background:var(--bg);border-radius:6px;overflow:hidden;}
.dd-bar .t i{display:block;height:100%;background:var(--accent);border-radius:6px;}
.dd-bar .t i.d{background:var(--accent-deep);}
.dd-bar .t i.w{background:var(--warn);}
.dd-bar .t i.s{background:var(--info);}
.dd-bar .r{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;}
.dd-bar .r small{color:var(--ink-faint);font-weight:500;margin-left:5px;}
.dd-bar.click{cursor:pointer;border-radius:8px;}
.dd-bar.click:hover{background:var(--bg);}
.dd-bar.click:focus-visible,.dd-chip:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px;}

#db-catNota{font-size:12.5px;color:var(--ink-soft);margin-top:10px;line-height:1.5;}
.dd-sub{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-bottom:10px;}
.dd-grande{font-family:var(--unbounded);font-weight:800;font-size:34px;color:var(--sidebar-bg);}
.dd-texto{font-size:13px;color:var(--ink-soft);margin-top:10px;line-height:1.6;}
.dd-peq2{font-size:12px;color:var(--ink-soft);margin-top:8px;}
.dd-link{font-size:12.5px;color:var(--accent-deep);font-weight:600;margin-top:10px;display:inline-block;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;}

@media(max-width:900px){
  .dd-kpis{grid-template-columns:1fr;}
  .dd-row{grid-template-columns:1fr 110px 56px;}
  .dd-row .b{display:none;}
  .dd-bar,.dd-bar.fixo,.dd-bar.sm,.dd-bar.mot{grid-template-columns:1fr 110px;}
  .dd-bar .t{grid-column:1 / -1;order:3;}
}
