.detail-dialog:has(.financial-report) { width: min(980px, calc(100vw - 28px)); }
.financial-report .dialog-content { display: grid; gap: 18px; }
.report-filter { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) auto; align-items: end; gap: 10px; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-control); background: var(--color-surface-subtle); }
.report-filter.has-account-filter { grid-template-columns: minmax(135px, 0.75fr) minmax(135px, 0.75fr) minmax(210px, 1.2fr) auto; }
.report-account-filter small { line-height: 1.35; }
.report-scope-note { min-height: 44px; display: grid; align-content: center; gap: 3px; margin: 0; padding: 8px 10px; border-left: 3px solid var(--color-primary); color: var(--color-text-muted); font-size: 12px; }
.report-scope-note strong { color: var(--color-text-strong); font-size: 12px; }
.report-scope-note span { line-height: 1.35; }
.detail-dialog .report-filter { min-height: auto; flex: none; display: grid; }
.report-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.report-summary > div { min-height: 86px; display: grid; align-content: center; gap: 4px; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-control); background: var(--color-surface-subtle); }
.report-summary span, .report-summary small { color: var(--color-text-muted); font-size: 12px; }
.report-summary strong { color: var(--color-text-strong); font-size: 17px; }
.report-summary strong.negative, .report-amount.expense { color: var(--color-danger); }
.report-amount.income { color: var(--color-success); }
.report-amount.neutral { color: var(--color-text-strong); }
.report-transactions { min-width: 0; }
.report-transactions > div:first-child { margin-bottom: 10px; }
.report-transactions p { margin: 0; color: var(--color-text-muted); font-size: 12px; }
.report-transactions h3 { margin: 2px 0 0; color: var(--color-text-strong); font-size: 15px; }

@media (max-width: 860px) {
  .financial-report .dialog-content { min-height: 0; flex: 1; overflow: auto; }
  .report-filter, .report-filter.has-account-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-account-filter, .report-scope-note { grid-column: 1 / -1; }
  .report-filter button { grid-column: 1 / -1; }
  .report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
  .report-filter, .report-filter.has-account-filter, .report-summary { grid-template-columns: 1fr; }
  .report-summary > div { min-height: 72px; }
}

@media print {
  .financial-report .report-filter { display: none !important; }
  .financial-report .dialog-content { overflow: visible !important; }
}
