/* Styles propres au module banque (livre-journal, imports, budget, paiements) */
.journal-filters .presets { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.journal-filters .presets .is-current { border-color: var(--stamp); color: var(--stamp-dark); }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.filter-row label { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.filter-row input[type="search"] { min-width: 220px; }
table.journal select { max-width: 230px; font-size: 13px; padding: 4px 6px; }
table.journal select.is-empty { border-color: var(--warning); }
table.journal td.comm { max-width: 360px; }
.amount-in { color: var(--ok); }
.amount-out { color: var(--ink); }
.row-muted td { color: var(--ink-3); }
.rule-suggest { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.plain-list { margin: 0 0 10px; padding-left: 18px; }
.plain-list li { margin-bottom: 6px; }
.import-account { margin-top: 12px; }
.budget-table input { width: 120px; text-align: right; }
.budget-summary { display: flex; flex-wrap: wrap; gap: 8px 28px; }
.fee-match td { vertical-align: top; }
.fee-match select { max-width: 280px; }
@media (max-width: 760px) {
  table.journal select { max-width: 160px; }
  .filter-row input[type="search"] { min-width: 0; width: 100%; }
}
.page-actions { margin-bottom: 14px; }
.filter-row select, .filter-row input[type="date"], .filter-row input[type="search"] { width: auto; }
.filter-row select { max-width: 280px; }
#bulk-form select { width: auto; max-width: 260px; }
#bulk-form { flex-wrap: nowrap; }
.panel-head .actions { flex-wrap: wrap; }
.budget-form { display: block; margin-top: 18px; }
.budget-grid > .panel + .panel { margin-top: 0; }
.budget-grid + .panel { margin-top: 18px; }
