/* Compact finance controls, horizontal charts and installment plans. */
#page-banking .finance-page-shell,
#page-banking .finance-section { min-width: 0; }
#page-banking .finance-charts-grid > article { scroll-snap-align: start; }
#page-banking .finance-charts-grid { display: flex; gap: .72rem; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; padding-bottom: .7rem; }
#page-banking .finance-charts-grid > .finance-chart-card { flex: 0 0 min(86%, 30rem); }
#page-banking .finance-chart-plot { height: 14rem; }
#page-banking .finance-chart-navigation { display: flex; align-items: center; gap: .35rem; }
#page-banking .finance-actions-rail { grid-template-columns: repeat(5, minmax(0, 1fr)); }
#page-banking .finance-person-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }
#page-banking .finance-member-balances { display: flex; gap: .5rem; overflow-x: auto; }
#page-banking .finance-member-balances button { display: flex; flex: 0 0 auto; gap: .5rem; padding: .5rem .7rem; border-radius: .8rem; min-height: 2.75rem; font-size: .75rem; }
#page-banking .finance-member-balances button[aria-pressed="true"] { border-color: var(--finance-blue); }
#page-banking .finance-person-controls label { flex: 1 1 12rem; max-width: 24rem; }
#page-banking .finance-person-controls p,
#page-banking .finance-transfer-summary { margin: 0; color: var(--finance-muted); font-size: .75rem; }
#page-banking .finance-transfer-totals { color: var(--finance-muted); font-size: .75rem; margin-top: -.7rem; }
#page-banking .finance-budget-details-toggle { display: flex; width: 100%; justify-content: space-between; gap: .7rem; min-height: 2.75rem; }
#page-banking #finance-budget-details { display: grid; gap: 1.25rem; min-width: 0; }
#page-banking [hidden] { display: none !important; }
#page-banking .finance-emi-list { display: flex; gap: .7rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .5rem 0; }
#page-banking .finance-emi-card { flex: 0 0 min(92%, 28rem); padding: 1rem; border: 1px solid var(--finance-muted); border-radius: 1rem; background: var(--card-bg); scroll-snap-align: start; }
#page-banking .finance-emi-card h3 { margin: 0; color: var(--finance-ink); font-size: 1rem; overflow-wrap: anywhere; }
#page-banking .finance-emi-card p { color: var(--finance-muted); font-size: .75rem; margin: .5rem 0; }
#page-banking .finance-emi-card progress { width: 100%; accent-color: var(--finance-blue); height: .5rem; }
#page-banking .finance-emi-card footer { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
#page-banking .finance-emi-card footer button { font-size: .72rem; min-height: 2.5rem; padding: .5rem .65rem; }
#page-banking .finance-emi-card .finance-emi-overdue { color: #cf3656; font-weight: 700; }
#page-banking .finance-emi-card details { margin-top: .7rem; font-size: .75rem; color: var(--finance-muted); }
#page-banking .finance-emi-payment { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .4rem 0; }
#page-banking .finance-emi-payment button { min-height: 2rem; }
#page-banking .finance-emi-summary { margin: .5rem 0; }
#page-banking .finance-modal-backdrop .finance-form-stack { max-height: 75vh; overflow-y: auto; }
#page-banking .finance-modal-backdrop { visibility: hidden; }
#page-banking .finance-modal-backdrop.active { visibility: visible; }
.finance-error { color: #cf3656; font-size: .8rem; }
