/* Financial reports extension — cash flow, VAT, profitability, compare */
.fin-rpt-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.fin-rpt-kpi {
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: var(--r);
  padding: 14px;
  text-align: center;
}
.fin-rpt-kpi .lbl { font-size: 11px; color: var(--text-m); margin-bottom: 4px; }
.fin-rpt-kpi .val { font-size: 18px; font-weight: 800; font-family: var(--mono); }
.fin-rpt-kpi.green .val { color: var(--odoo-green); }
.fin-rpt-kpi.red .val { color: var(--odoo-red); }
.fin-rpt-kpi.blue .val { color: var(--odoo-blue); }
.fin-rpt-kpi.purple .val { color: var(--odoo-purple); }

.fin-cf-section { margin-bottom: 14px; }
.fin-cf-hdr {
  font-size: 12px; font-weight: 800; color: var(--odoo-purple);
  padding: 8px 12px; background: var(--odoo-purple-l);
  border-radius: var(--r) var(--r) 0 0; border: 1.5px solid var(--border); border-bottom: none;
}
.fin-cf-body {
  border: 1.5px solid var(--border); border-radius: 0 0 var(--r) var(--r);
  overflow: hidden;
}
.fin-cf-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 12px; border-bottom: 1px solid var(--border); font-size: 12.5px;
}
.fin-cf-row.sub { padding-right: 24px; color: var(--text-m); font-size: 12px; }
.fin-cf-row.grand { background: var(--odoo-green-l); font-weight: 800; border-bottom: none; }
.fin-cf-amt.pos { color: var(--odoo-green); font-family: var(--mono); font-weight: 700; }
.fin-cf-amt.neg { color: var(--odoo-red); font-family: var(--mono); font-weight: 700; }

.fin-compare-bar {
  margin-bottom: 14px; padding: 12px 14px;
  background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
  border: 1.5px solid #bae6fd; border-radius: var(--r);
}
.fin-compare-bar h4 { margin: 0 0 10px; font-size: 13px; color: #0369a1; }
.fin-compare-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-bottom: 10px; }
.fin-compare-filters label { font-size: 11px; font-weight: 600; color: var(--text-m); }
.fin-compare-filters select { min-width: 120px; padding: 6px 10px; font-size: 12px; }

.fin-cmp-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.fin-cmp-table th, .fin-cmp-table td { padding: 7px 10px; border: 1px solid var(--border); text-align: right; }
.fin-cmp-table th { background: var(--odoo-purple); color: #fff; font-weight: 700; }
.fin-cmp-table .pos { color: var(--odoo-green); font-weight: 700; }
.fin-cmp-table .neg { color: var(--odoo-red); font-weight: 700; }
.fin-cmp-table .summary-row { background: var(--odoo-purple-l); font-weight: 800; }

.fin-vat-net {
  text-align: center; padding: 16px; margin-top: 12px;
  border-radius: var(--r); border: 2px solid var(--border);
}
.fin-vat-net.payable { background: #fef2f2; border-color: #fecaca; }
.fin-vat-net.refund { background: #f0fdf4; border-color: #86efac; }

.fin-ratio-bar { margin-bottom: 10px; }
.fin-ratio-bar .info-row { margin-bottom: 4px; }
.fin-ratio-track { height: 8px; background: var(--border); border-radius: 4px; overflow: hidden; }
.fin-ratio-fill { height: 100%; border-radius: 4px; transition: width .3s; }
