.finance-filters { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; padding:1.15rem 1.3rem; margin-bottom:1rem; }
.finance-filters label { color:var(--text-secondary); font-size:.8rem; flex:1; min-width:150px; }
.finance-filters input, .finance-filters select { margin-top:.4rem; font-size:.9rem; }
.finance-range { color:var(--text-secondary); margin:.5rem 0 1.4rem; font-size:.9rem; }
.finance-note { color:var(--text-secondary); font-size:.85rem; margin:1rem 0; }
.finance-notice { color:#B9D0EA; margin:1rem 0; }
.finance-notice:empty { display:none; }
.finance-table td { vertical-align:top; overflow-wrap:anywhere; max-width:340px; }
.finance-table .finance-comment { white-space:pre-wrap; }
.finance-dialog { margin:auto; padding:1.6rem; width:min(540px,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow-y:auto; border:1px solid #304761; border-radius:16px; background:var(--bg-card); color:var(--text-primary); }
.finance-dialog::backdrop { background:#030912bd; }
.finance-fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.finance-actions { display:flex; justify-content:flex-end; gap:.7rem; margin-top:1rem; }
.finance-error { color:#F2B4B4; margin:1rem 0; }
.finance-kpi-detail { color:var(--text-secondary); font-size:.8rem; margin-top:.4rem; }
.finance-summary { margin-bottom:1.4rem; }
.finance-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
#expense-summary .stat-card { grid-column:1/-1; }
.finance-summary .stat-value { font-size:1.9rem; }
.finance-empty { padding:2rem; text-align:center; color:var(--text-secondary); }
.finance-breakdown { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; padding:1rem 1.25rem; color:var(--text-secondary); font-size:.85rem; margin-bottom:1.25rem; }
.finance-chart { height:300px; position:relative; }
.finance-table-wrap { overflow:auto; }
.finance-table td small { display:block; color:var(--text-secondary); margin-top:.3rem; }
.finance-page [hidden] { display:none !important; }
@media(max-width:640px) {
  .finance-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  .finance-summary .stat-card { padding:1rem; }
  .finance-summary .stat-value { font-size:1.35rem; }
  .finance-page .page-header { flex-direction:column; align-items:stretch; gap:1rem; }
  .finance-filters { padding:1rem; gap:.7rem; }
  .finance-filters label { min-width:110px; }
  .finance-fields { grid-template-columns:1fr; gap:0; }
  .finance-actions .btn { flex:1; justify-content:center; }
  .finance-table { min-width:0 !important; display:block; }
  .finance-table thead { display:none; }
  .finance-table tbody,.finance-table tr { display:block; }
  .finance-table tr { padding:1rem; border-bottom:1px solid #304761; }
  .finance-table td { display:grid; grid-template-columns:95px minmax(0,1fr); gap:.6rem; padding:.4rem 0; max-width:none; border:0; }
  .finance-table td::before { content:attr(data-label); color:var(--text-muted); font-size:.8rem; }
}
