/* Dashboard: painel financeiro da empresa (DRE resumida, saldos a pagar e a receber, fluxo de caixa, contas, despesas). Identidade Cassini. */
.dash-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.dash-controls input,.dash-controls select{height:32px;font-size:12px;min-width:132px}
.dash-cards .stat-value{font-size:24px;overflow:hidden;text-overflow:ellipsis}
.dash-card.red .stat-value{color:var(--danger)}.dash-card.amber .stat-value{color:var(--amber)}
.dash-card .stat-footer{font-size:11px;color:var(--muted);margin-top:6px}
.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.dash-wide{grid-column:1/-1}
.dash-panel{min-width:0;margin:0}.dash-panel .panel-heading{gap:12px;flex-wrap:wrap}.dash-panel .panel-heading p{font-size:11px}
.dash-empty{padding:34px 22px;text-align:center;color:var(--muted)}.dash-empty svg{width:28px;height:28px;color:var(--primary)}
.dash-table td,.dash-table th{font-size:12px;padding-left:12px;padding-right:12px}.dash-table td:first-child,.dash-table th:first-child{padding-left:22px}.dash-table td.money small{display:block;color:var(--danger)}.dash-table td small{display:block;color:var(--muted);font-size:10px;margin-top:3px;white-space:normal;overflow-wrap:anywhere}
.dash-dre td:first-child{min-width:180px}
.dash-subtotal td{font-weight:650;background:#f7faf9;border-top:1px solid var(--line)}
.dash-var{font-size:11px;color:var(--muted)}.dash-var.up{color:var(--primary)}.dash-var.down{color:var(--danger)}
.dash-note,.dash-warning{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:var(--muted);line-height:1.6;margin:12px 22px 16px}
.dash-note svg,.dash-warning svg{width:14px;height:14px;flex-shrink:0;margin-top:2px;color:var(--primary)}
.dash-warning{color:var(--danger);font-weight:600}.dash-warning svg{color:var(--danger)}
.dash-grid+.dash-note{margin:0 0 18px}
.dash-zero-note{font-size:12px;color:var(--muted);margin:10px 22px 18px}
.dash-open-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:4px 22px 18px}
.dash-open{border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-width:0}
.dash-open h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px}
.dash-open dl{margin:0}.dash-open dl div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid #eef2f1;font-size:12px}
.dash-open dl div:first-child{border-top:0;font-weight:650}.dash-open dt{color:var(--ink)}.dash-open dd{margin:0;text-align:right;white-space:nowrap}
.dash-open dd small{display:block;font-size:10px;color:var(--muted)}.dash-open .dash-alert dd{color:var(--danger);font-weight:650}
.dash-accounts{list-style:none;margin:0;padding:4px 22px 14px}.dash-accounts li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #eef2f1;font-size:12px}
.dash-accounts li:first-child{border-top:0}.dash-accounts small{color:var(--muted);font-size:10px}.dash-accounts .dash-total{font-weight:650;border-top:1px solid var(--line)}
.dash-muted{opacity:.6}.dash-negative{color:var(--danger)}
.dash-chart{padding:6px 22px 0;overflow-x:auto}.dash-chart svg{display:block;width:100%;height:auto}
.dash-chart rect.dash-in{fill:#167c73}.dash-chart rect.dash-out{fill:#c98d3a}
.dash-chart path.dash-balance{stroke:#123d42;stroke-width:2}.dash-chart circle.dash-balance{fill:#123d42}
.dash-zero{stroke:#cfd9d8;stroke-width:1}.dash-axis{font-size:9px;fill:#718087}
.dash-line-label{font-size:10px;font-weight:600;fill:#123d42}.dash-chart circle.dash-below{fill:#b83d46}.dash-line-label.dash-below{fill:#b83d46}
.dash-legend{display:flex;gap:14px;flex-wrap:wrap;padding:6px 22px 14px;font-size:11px;color:var(--muted)}
.dash-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.dash-legend i.dash-in{background:#167c73}.dash-legend i.dash-out{background:#c98d3a}.dash-legend i.dash-balance{background:#123d42;height:3px;vertical-align:3px}
.dash-hbars{list-style:none;margin:0;padding:4px 22px 16px}
.dash-hbars li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 0;font-size:12px}
.dash-hbar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-hbar-track{background:#eef2f1;border-radius:4px;height:9px;overflow:hidden}
.dash-hbar{display:block;height:100%;background:#c98d3a;border-radius:4px}.dash-hbars strong{white-space:nowrap}.dash-hbars small{color:var(--muted);font-size:10px;min-width:30px;text-align:right}
@media(max-width:1100px){.dash-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-cards .stat-value{font-size:18px;letter-spacing:-.4px}.dash-open-grid{grid-template-columns:1fr;padding:4px 16px 16px}.dash-chart,.dash-legend,.dash-accounts,.dash-hbars{padding-left:16px;padding-right:16px}.dash-note,.dash-warning{margin:12px 16px}.dash-controls{justify-content:flex-start}.dash-hbars li{grid-template-columns:minmax(0,1fr) auto;}.dash-hbar-track{grid-column:1/-1;order:3}}
