.personal-finance { min-width: 0; display: grid; gap: 24px; }
.finance-team-overview { display: grid; gap: 16px; min-width: 0; }
.finance-team-overview h2 { font-size: 20px; }
.finance-team-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.finance-team-metrics > div { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.finance-team-metrics span { color: var(--muted); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.finance-team-metrics strong { font-size: clamp(18px, 2vw, 27px); line-height: 1.25; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.finance-single-account { display: none !important; }
.finance-linked-totals { display: grid; gap: 8px; }
.finance-team-accounts { display: grid; gap: 12px; min-width: 0; }
.finance-team-accounts > summary { color: var(--accent); cursor: pointer; min-height: 44px; line-height: 1.5; align-content: center; font-weight: 600; }
.finance-dialog [data-finance-receipt-bucket] { display: grid; gap: 8px; }
.finance-dialog [data-finance-receipt-bucket][hidden], .finance-dialog [data-finance-rules][hidden], .finance-dialog [data-finance-base][hidden], .finance-dialog [data-finance-manual-wrap][hidden], .finance-dialog [data-finance-manual-allocation][hidden] { display: none; }
@media(max-width: 700px) { .finance-team-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .finance-team-metrics > div { padding: 14px; } }
.finance-scope-notice { display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; flex-wrap: wrap; padding: 14px 0; border-block: 1px solid var(--line); min-width: 0; }
.finance-scope-notice > div { display: grid; gap: 6px; flex: 1 1 260px; min-width: 0; }
.finance-scope-notice strong { color: var(--ink); font-size: 14px; overflow-wrap: anywhere; }
.finance-scope-notice p, .finance-scope-caption { color: var(--muted); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.finance-scope-notice .text-button { display: inline-flex; align-items: center; justify-content: flex-start; gap: 6px; text-align: left; white-space: normal; max-width: 100%; min-height: 44px; }
.finance-source-settings { min-width: 0; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.finance-source-settings > div:first-child { display: grid; gap: 8px; }
.finance-source-settings .finance-form { width: 100%; max-width: 640px; min-width: 0; }
.finance-organization-fields { border-top: 1px solid var(--line); padding-top: 12px; min-width: 0; }
.finance-organization-fields > summary, .finance-category-report > summary { min-height: 44px; display: list-item; align-content: center; color: var(--accent); font-weight: 600; cursor: pointer; line-height: 1.5; }
.finance-organization-fields > div { display: grid; gap: 14px; padding-top: 12px; min-width: 0; }
.finance-category-help { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.finance-category-help p { flex: 1 1 240px; }
.finance-link-picker { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; min-width: 0; }
.finance-link-picker label { min-width: 0; }
.finance-link-picker input { width: 100%; min-width: 0; }
.finance-link-picker > button { min-height: 44px; }
.finance-link-results { max-height: 250px; overflow-y: auto; overscroll-behavior: contain; min-width: 0; }
.finance-link-results:empty { display: none; }
.finance-link-results > button, .finance-selected-links > div, .finance-related-list > button { display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; padding: 12px 2px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; text-align: left; }
.finance-link-results > button:hover { background: var(--surface-soft); }
.finance-link-results > button > span, .finance-selected-links > div > span, .finance-related-list > button > span { display: grid; flex: 1; min-width: 0; gap: 4px; overflow-wrap: anywhere; }
.finance-selected-links small, .finance-related-list small, .finance-link-results small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.finance-operation-organization { display: grid; gap: 12px; border-top: 1px solid var(--line); padding-top: 18px; min-width: 0; }
.finance-related-list p { display: grid; gap: 5px; padding-block: 10px; overflow-wrap: anywhere; }
.finance-category-report { display: grid; gap: 14px; border-top: 1px solid var(--line); padding-top: 14px; min-width: 0; }
.finance-category-report > div > button { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.65fr) minmax(0,.65fr) 20px; align-items: center; gap: 16px; width: 100%; padding: 16px 2px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; text-align: left; }
.finance-category-report > div > button:hover { background: var(--surface-soft); }
.finance-category-report button > span { display: grid; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.finance-category-report small { color: var(--muted); font-size: 12px; }
@media(max-width: 600px) {
  .finance-category-report > div > button { grid-template-columns: minmax(0,1fr) minmax(0,1fr) 20px; gap: 10px; }
  .finance-category-report button > span:first-child { grid-column: 1 / 3; }
  .finance-category-report button > span:nth-child(2) { grid-column: 1; grid-row: 2; }
  .finance-category-report button > span:nth-child(3) { grid-column: 2; grid-row: 2; }
  .finance-category-report button > svg, .finance-category-report button > .icon { grid-column: 3; grid-row: 1 / 3; }
}
.finance-heading, .finance-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.finance-heading > div { display: grid; gap: 7px; min-width: 0; }
.finance-heading p, .finance-caption, .finance-empty-note { color: var(--muted); font-size: 13px; line-height: 1.6; }
.finance-heading h1, .finance-heading h2 { font-size: 28px; }
.finance-toolbar { justify-content: flex-start; gap: 14px; }
.finance-toolbar label { width: 190px; max-width: 100%; }
.finance-toolbar .finance-payer-filter { width: 300px; min-width: 0; }
.finance-report-scope { display: flex; align-items: center; justify-content: space-between; gap: 10px 18px; flex-wrap: wrap; margin-top: -8px; }
.finance-report-scope p { color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.finance-report-scope .text-button { flex-shrink: 0; }
.finance-toolbar .text-button { align-self: end; min-height: 42px; display: inline-flex; align-items: center; gap: 7px; }
.finance-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.finance-totals > div { display: grid; align-content: start; gap: 9px; padding: 22px 20px; border-right: 1px solid var(--line); min-width: 0; }
.finance-totals > div:first-child { padding-left: 0; }
.finance-totals > div:last-child { border-right: 0; }
.finance-totals span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.finance-totals strong { color: var(--ink); font-size: clamp(20px, 2.1vw, 29px); line-height: 1.3; font-weight: 650; overflow-wrap: anywhere; }
.finance-section { display: grid; gap: 15px; min-width: 0; }
.finance-section > .section-heading, .finance-settings-section > .section-heading { flex-wrap: wrap; gap: 12px; }
.finance-buckets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px 28px; }
.finance-bucket { display: grid; align-content: start; gap: 18px; padding: 18px 0; border-top: 1px solid var(--line); min-width: 0; }
.finance-bucket h4, .finance-settings-list strong, .finance-income strong, .finance-entry-meta strong { overflow-wrap: anywhere; }
.finance-bucket > div:first-child { display: grid; gap: 5px; }
.finance-bucket p { font-size: 12px; color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.finance-bucket-amounts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.finance-bucket-amounts > div { display: grid; align-content: start; gap: 6px; min-width: 0; }
.finance-bucket-amounts span { color: var(--muted); font-size: 11px; line-height: 1.5; }
.finance-bucket-amounts strong { font-size: 15px; line-height: 1.45; overflow-wrap: anywhere; }
.finance-bucket progress { display: block; width: 100%; height: 5px; border: 0; border-radius: 5px; overflow: hidden; appearance: none; background: var(--surface-tint); color: var(--accent); }
.finance-bucket progress::-webkit-progress-bar { background: var(--surface-tint); border-radius: 5px; }
.finance-bucket progress::-webkit-progress-value { background: var(--accent); border-radius: 5px; }
.finance-bucket progress::-moz-progress-bar { background: var(--accent); border-radius: 5px; }
.finance-journal { display: grid; border-top: 1px solid var(--line); }
.finance-income { display: grid; grid-template-columns: 75px minmax(0, 1fr) minmax(100px, auto) 20px; align-items: center; gap: 16px; width: 100%; min-width: 0; padding: 16px 4px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; text-align: left; }
.finance-income:hover { background: var(--surface-soft); }
.finance-income > span:nth-child(2) { display: grid; gap: 5px; min-width: 0; }
.finance-income time, .finance-income small { color: var(--muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.finance-income > strong { text-align: right; font-variant-numeric: tabular-nums; }
.finance-income > span:last-child { display: inline-flex; color: var(--accent); }
.finance-income.is-voided { color: var(--muted); }
.finance-income.is-voided > strong { text-decoration: line-through; }
.finance-income-note { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.finance-empty { display: grid; gap: 12px; max-width: 680px; padding: 22px 0; }
.finance-empty p { color: var(--muted); line-height: 1.6; }
.finance-empty .secondary { justify-self: start; }
.finance-empty-note { padding: 16px 0; }
.finance-load-state { padding: 20px 0; display: grid; gap: 12px; justify-items: start; }
.finance-sources-report { border-top: 1px solid var(--line); padding-top: 18px; }
.finance-sources-report summary { cursor: pointer; color: var(--accent); font-weight: 600; min-height: 40px; }
.finance-sources-report > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.finance-sources-report article { display: grid; gap: 14px; padding: 16px 0; border-top: 1px solid var(--line); }
.finance-payers-report { border-top: 1px solid var(--line); padding-top: 18px; }
.finance-payers-report > summary { cursor: pointer; color: var(--accent); font-weight: 600; min-height: 40px; }
.finance-payers-report > div { display: grid; }
.finance-payers-report button { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, .5fr) minmax(130px, .5fr) 20px; width: 100%; gap: 16px; align-items: center; text-align: left; padding: 16px 2px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.finance-payers-report button:hover { background: var(--surface-soft); }
.finance-payer-report-name, .finance-payer-report-metric { display: grid; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.finance-payers-report small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.finance-payers-report .icon { color: var(--accent); }
.finance-payer-choice { display: grid; gap: 12px; min-width: 0; }
.finance-inline-payer { border-block: 1px solid var(--line); padding-block: 8px; }
.finance-inline-payer > summary { color: var(--accent); min-height: 40px; align-content: center; cursor: pointer; font-size: 13px; font-weight: 600; }
.finance-inline-payer > div { display: grid; gap: 14px; padding: 10px 0 14px; }
.finance-dialog { max-width: 900px; margin-inline: auto; }
.finance-dialog > header > div { min-width: 0; }
.finance-dialog .finance-back { display: inline-flex; align-items: center; gap: 4px; padding-left: 0; justify-self: start; }
.finance-dialog p, .finance-dialog h2, .finance-dialog h3 { overflow-wrap: anywhere; }
.finance-dialog .form-grid > *, .finance-dialog label { min-width: 0; }
.finance-dialog form { display: grid; gap: 20px; }
.finance-dialog .form-actions { flex-wrap: wrap; gap: 10px; }
.finance-dialog .form-error { line-height: 1.5; overflow-wrap: anywhere; }
.finance-entry-meta { display: grid; gap: 7px; min-width: 0; }
.finance-entry-meta > span { color: var(--muted); font-size: 13px; }
.finance-entry-meta p { white-space: pre-wrap; line-height: 1.6; }
.finance-entry-parts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px 28px; }
.finance-entry-parts article { display: grid; align-content: start; gap: 15px; padding-top: 18px; border-top: 1px solid var(--line); min-width: 0; }
.finance-entry-parts .section-heading { flex-wrap: wrap; gap: 7px; }
.finance-entry-parts h3 { font-size: 16px; }
.finance-entry-parts p { font-size: 12px; line-height: 1.5; }
.finance-notice { padding: 14px 16px; border-left: 3px solid var(--line-strong); background: var(--surface-soft); color: var(--muted); line-height: 1.6; }
.finance-settled { color: var(--accent); font-size: 13px; padding-block: 8px; }
.finance-base-preview { color: var(--accent-strong); font-weight: 600; min-height: 22px; }
.finance-rule-preview { display: grid; gap: 8px; padding-block: 16px; border-block: 1px solid var(--line); }
.finance-rule-preview p, .finance-rule-preview small { color: var(--muted); font-size: 12px; line-height: 1.7; }
.finance-manual-wrap { display: grid; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.finance-manual-allocation { display: grid; gap: 10px; min-width: 0; }
.finance-settings-section { display: grid; gap: 15px; padding-top: 18px; border-top: 1px solid var(--line); }
.finance-settings-section > .section-heading > div { display: grid; gap: 5px; }
.finance-settings-section .muted { font-size: 12px; }
.finance-settings-list { display: grid; }
.finance-settings-list > button { display: flex; align-items: center; gap: 14px; justify-content: space-between; min-width: 0; width: 100%; padding: 14px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; text-align: left; }
.finance-settings-list > button:hover { background: var(--surface-soft); }
.finance-settings-list > button > span { display: grid; gap: 5px; min-width: 0; }
.finance-settings-list small { color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.finance-settings-list [data-finance-payer] small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.finance-settings-list .icon { color: var(--accent); }
.finance-dialog .finance-checkbox { display: flex; align-items: flex-start; gap: 10px; line-height: 1.6; }
.finance-checkbox input { margin-top: 2px; }
.finance-rules { min-width: 0; border: 0; padding: 0; margin: 0; }
.finance-rules legend { font-size: 16px; font-weight: 600; margin-bottom: 16px; }
.finance-rule-row { display: grid; grid-template-columns: minmax(0, 1fr) 100px 40px; align-items: end; gap: 12px; margin-bottom: 14px; }
.finance-rule-row > .icon-button { margin-bottom: 1px; }
.finance-rule-row label { font-size: 12px; }
.finance-rule-total { margin-block: 12px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.finance-rule-total[data-valid="true"] { color: var(--accent); }
.finance-rules > .text-button { display: inline-flex; gap: 7px; align-items: center; }
.finance-save-recovery { display: grid; gap: 12px; padding-top: 14px; border-top: 1px solid var(--line); justify-items: start; }
.finance-save-recovery > p, .finance-save-recovery > div { width: 100%; }
.finance-recovery-journal { display: grid; gap: 8px; max-height: 240px; overflow: auto; }
.finance-recovery-journal p { display: flex; justify-content: space-between; gap: 14px; font-size: 12px; padding-block: 8px; border-bottom: 1px solid var(--line); }
.finance-recovery-journal p > span { min-width: 0; overflow-wrap: anywhere; }
.finance-recovery-journal strong { flex-shrink: 0; }
.finance-save-recovery .finance-notice { display: grid; gap: 10px; }
@media (max-width: 640px) {
  .personal-finance { gap: 20px; }
  .finance-heading { align-items: flex-start; }
  .finance-heading h2 { font-size: 21px; }
  .finance-heading .primary { width: 100%; }
  .finance-toolbar .finance-payer-filter { width: 100%; }
  .finance-payers-report button { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 18px; gap: 9px 12px; }
  .finance-payer-report-name { grid-column: 1 / 3; }
  .finance-payer-report-metric:nth-child(2) { grid-column: 1; grid-row: 2; }
  .finance-payer-report-metric:nth-child(3) { grid-column: 2; grid-row: 2; }
  .finance-payers-report button > span:last-child { grid-column: 3; grid-row: 1 / 3; }
  .finance-totals > div { padding: 16px 10px; }
  .finance-totals span { font-size: 11px; }
  .finance-totals strong { font-size: 18px; }
  .finance-totals > div:last-child { padding-right: 0; }
  .finance-bucket-amounts { gap: 8px; }
  .finance-bucket-amounts strong { font-size: 14px; }
  .finance-income { grid-template-columns: minmax(0, 1fr) auto 18px; gap: 6px 10px; padding-block: 14px; }
  .finance-income time { grid-column: 1; grid-row: 1; }
  .finance-income > span:nth-child(2) { grid-column: 1; grid-row: 2; }
  .finance-income > strong { grid-column: 2; grid-row: 1 / 3; max-width: 110px; font-size: 13px; }
  .finance-income > span:last-child { grid-column: 3; grid-row: 1 / 3; }
  .finance-dialog .form-grid.two { grid-template-columns: minmax(0, 1fr); }
  .finance-dialog .finance-totals { gap: 0; }
  .finance-dialog .finance-totals strong { font-size: 17px; }
  .finance-rule-row { grid-template-columns: minmax(0, 1fr) 74px 36px; gap: 8px; }
  .finance-rule-row > .icon-button { width: 36px; }
  .finance-rule-row .custom-select-trigger { padding-inline: 9px; }
}

/* Personal finance: small everyday actions first, detailed reports on demand. */
.finance-heading > .finance-quick-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.finance-quick-actions > button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; }
.finance-navigation { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px 24px; border-block: 1px solid var(--line); padding-block: 16px; min-width: 0; }
.finance-view-tabs { display: inline-flex; justify-self: start; gap: 4px; border-radius: 10px; padding: 4px; background: var(--surface-soft); min-width: 0; }
.finance-view-tabs > button { min-height: 40px; padding: 9px 20px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-weight: 600; overflow-wrap: anywhere; }
.finance-view-tabs > button.is-active { color: var(--accent); background: var(--surface); box-shadow: 0 2px 6px #172e2510; }
.finance-view-tabs > button:focus-visible, .finance-period-presets > button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.finance-period-toolbar { display: flex; justify-content: end; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.finance-period-presets { display: flex; gap: 2px; min-width: 0; }
.finance-period-presets > button { min-height: 40px; padding: 8px 10px; color: var(--muted); font-size: 13px; }
.finance-period-presets > button.is-active { color: var(--accent); background: var(--surface-soft); }
.finance-month-picker { width: 176px; min-width: 0; }
.finance-month-picker input { min-width: 0; min-height: 40px; padding: 7px 9px; }
.finance-period-caption { grid-column: 1 / -1; color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.finance-balance-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.finance-balance-heading > div { display: grid; gap: 7px; min-width: 0; }
.finance-balance-heading > div > span { color: var(--muted); font-size: 13px; }
.finance-balance-heading strong { color: var(--ink); font-size: clamp(27px, 3vw, 38px); line-height: 1.25; font-weight: 650; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.finance-balance-heading > p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.finance-period-totals { display: flex; flex-wrap: wrap; gap: 8px 24px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.finance-period-totals > span { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.finance-period-totals strong { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.finance-account-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr)); gap: 12px; margin-block: 5px; }
.finance-account { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.finance-account > header { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.finance-account > header > div { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.finance-account h3 { font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.finance-account small, .finance-account-destination { color: var(--muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.finance-account-kind { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border-radius: 999px; background: var(--surface-tint); color: var(--accent) !important; font-weight: 650; }
.finance-account.is-expense-kind { background: linear-gradient(180deg, var(--surface), var(--surface-soft)); }
.finance-account-destination { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.finance-account-balance { font-size: 25px; font-weight: 650; line-height: 1.4; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.finance-account.is-negative .finance-account-balance { color: var(--danger, #a34646); }
.finance-account-period { display: grid; gap: 4px; color: var(--muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.finance-account > footer { display: flex; gap: 10px; justify-content: space-between; flex-wrap: wrap; padding-top: 4px; }
.finance-account > footer button { min-height: 40px; }
.finance-account > footer .secondary { display: inline-flex; gap: 6px; align-items: center; }
.finance-history-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 14px; }
.finance-history-filters > label { min-width: 0; }
.finance-journal-day { min-width: 0; }
.finance-journal-day h4 { color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.5; padding: 16px 2px 8px; }
.finance-operation { width: 100%; min-width: 0; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto 18px; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 15px 2px; background: transparent; text-align: left; }
.finance-operation:hover { background: var(--surface-soft); }
.finance-operation-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--surface-soft); color: var(--muted); font-size: 19px; }
.finance-operation-copy, .finance-operation-amount { display: grid; min-width: 0; gap: 5px; }
.finance-operation-copy strong { font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.finance-operation-copy small { color: var(--muted); font-size: 12px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.finance-operation-amount { text-align: right; }
.finance-operation-amount strong { font-size: 14px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; line-height: 1.5; }
.finance-operation-amount small { color: var(--muted); font-size: 11px; }
.finance-operation-amount.is-income > strong { color: var(--accent); }
.finance-operation > .icon { width: 18px; color: var(--muted); }
.finance-operation.is-voided { opacity: .65; }
.finance-operation.is-voided .finance-operation-amount strong { text-decoration: line-through; }
.finance-report-details { min-width: 0; border-top: 1px solid var(--line); padding-top: 12px; }
.finance-report-details > summary { min-height: 44px; align-content: center; color: var(--accent); font-weight: 600; cursor: pointer; }
.finance-report-body { display: grid; gap: 20px; padding-block: 14px; min-width: 0; }
.finance-report-body > .finance-payer-filter { width: min(100%, 360px); }
.finance-report-body > .text-button { justify-self: start; }
.finance-expense-extra { border-block: 1px solid var(--line); padding-block: 8px; }
.finance-expense-extra summary { color: var(--accent); min-height: 40px; align-content: center; cursor: pointer; font-size: 13px; font-weight: 600; }
.finance-expense-extra label { padding-block: 8px; }
.finance-expense-detail { display: grid; gap: 20px; min-width: 0; }
.finance-expense-total { font-size: 32px; line-height: 1.3; overflow-wrap: anywhere; }
.finance-expense-detail dl { display: grid; gap: 16px; margin: 0; }
.finance-expense-detail dl > div { display: grid; gap: 6px; }
.finance-expense-detail dt { color: var(--muted); font-size: 12px; }
.finance-expense-detail dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
@media (max-width: 740px) {
  .finance-navigation { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .finance-period-toolbar { justify-content: flex-start; }
}
@media (max-width: 480px) {
  .finance-heading { gap: 14px; }
  .finance-heading h1 { font-size: 25px; }
  .finance-heading > .finance-quick-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .finance-quick-actions > button { min-width: 0; padding-inline: 12px; }
  .finance-view-tabs { display: flex; width: 100%; }
  .finance-view-tabs > button { flex: 1; min-width: 0; padding-inline: 12px; }
  .finance-period-toolbar { gap: 10px 6px; }
  .finance-period-presets { width: 100%; }
  .finance-period-presets > button { flex: 1; }
  .finance-month-picker { flex: 1; width: auto; }
  .finance-balance-heading { gap: 10px; }
  .finance-balance-heading > p { font-size: 11px; }
  .finance-account { padding: 14px; }
  .finance-account-balance { font-size: 23px; }
  .finance-operation { grid-template-columns: minmax(0, 1fr) minmax(70px, .65fr) 14px; gap: 9px; }
  .finance-operation-icon { display: none; }
  .finance-operation-amount strong { font-size: 13px; }
  .finance-operation-copy strong { font-size: 13px; }
  .finance-operation > .icon { width: 14px; }
  .finance-dialog .form-actions > button { max-width: 100%; white-space: normal; }
}
