/* Finance dashboard extra styles */
.fin-ledger-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.fin-ledger-table thead th {
  background: var(--c-surface-2);
  padding: 10px 12px;
  text-align: left;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--c-text-muted);
  border-bottom: 1px solid var(--c-border);
}
.fin-ledger-table tbody td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--c-border);
  vertical-align: middle;
}
.fin-ledger-table tbody tr:last-child td { border-bottom: none; }
.fin-ledger-table tbody tr:hover { background: var(--c-surface-2); }
.flt-amount.income { color: #10B981; font-weight: 700; }
.flt-amount.expense { color: #EF4444; font-weight: 700; }
.flt-cat {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 20px;
  background: var(--c-forest-900);
  color: var(--c-forest-400);
  font-size: 11px;
  font-weight: 600;
}
.flt-date { color: var(--c-text-muted); white-space: nowrap; }

/* Income/expense summary bars */
.fin-summary-bars { display: flex; flex-direction: column; gap: 12px; }
.fsb-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.fsb-label {
  width: 60px;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}
.fsb-label.income { color: #10B981; }
.fsb-label.expense { color: #EF4444; }
.fsb-track {
  flex: 1;
  height: 8px;
  background: var(--c-surface-3);
  border-radius: 4px;
  overflow: hidden;
}
.fsb-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 1s ease;
}
.fsb-fill.income  { background: #10B981; }
.fsb-fill.expense { background: #EF4444; }
.fsb-value {
  width: 80px;
  font-size: 12px;
  font-weight: 700;
  text-align: right;
  flex-shrink: 0;
}
