/* Match the compact budget layout; keep all eight quarters horizontally scrollable. */
.cash-heading { grid-template-columns: minmax(240px,1fr) minmax(0,760px); }
.cash-version-toolbar .toolbar-group { max-width: 100%; }
.budget-heading-controls #cash-version { width: 230px; min-width: 140px; max-width: 100%; }
.cash-report-info { margin-bottom: 12px; border: 1px solid #e5e9f0; border-radius: 8px; flex-wrap: wrap; }
.cash-report-info button { font-size: 11px; padding: 4px 8px; }
.cash-current-choice { display: flex; gap: 8px; align-items: center; font-size: 12px; line-height: 1.5; margin: 12px 0; }
.cash-current-choice input { flex: 0 0 auto; }
.cash-cards { grid-template-columns: repeat(4,minmax(0,1fr)); }
.cash-logic { font-size: 11px; color: #515a66; display: inline-flex; gap: 6px; align-items: center; }
.cash-panel .cash-panel-title { padding: 12px 16px; gap: 12px; }
.cash-panel .cash-panel-title h2 { font-size: 14px; margin: 0; }
.cash-panel .cash-panel-title p { font-size: 11px; margin: 4px 0 0; color: #515a66; }
.cash-basis { color: #515a66; font-size: 11px; }
.cash-panel .table-scroll { background: #f8f9fc; }
.cash-panel .cash-table { min-width: 1654px; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 13px; color: #20252c; background: #f8f9fc; }
.cash-panel .cash-table th, .cash-panel .cash-table td { width: 106px; padding: 5px 6px; }
.cash-panel .cash-table th:first-child, .cash-panel .cash-table td:first-child { width: 330px; min-width: 330px; max-width: 330px; padding-left: 14px; border-right: 1px solid #e0e4e9; }
.cash-panel .cash-table th:nth-child(2), .cash-panel .cash-table td:nth-child(2) { width: 124px; }
.cash-panel .cash-table th:nth-child(3), .cash-panel .cash-table td:nth-child(3) { width: 124px; }
.cash-panel .cash-table th:nth-child(12), .cash-panel .cash-table th:nth-child(13), .cash-panel .cash-table td:nth-child(12), .cash-panel .cash-table td:nth-child(13) { width: 114px; }
.cash-panel .cash-summary th:last-child, .cash-panel .cash-summary td:last-child { width: 228px; }
.cash-panel .cash-table thead th { background: #f8f9fc; color: #515a66; font-size: 11px; font-weight: 600; text-transform: none; letter-spacing: 0; padding-top: 9px; padding-bottom: 9px; border-bottom: 1px solid #c8ced6; }
.cash-panel .cash-table tbody tr { background: transparent; }
.cash-panel .cash-table tbody td { height: 42px; background: #fff; font-size: 13px; border-bottom: 1px solid #e0e4e9; }
.cash-panel .cash-table .depth-2 td { background: #f8f9fa; }
.cash-panel .cash-table .section-row { font-weight: 400; }
.cash-panel .cash-table .group-row td { height: 44px; font-weight: 600; }
.cash-panel .cash-table .depth-3 td { height: 34px; padding-top: 2px; padding-bottom: 2px; }
.cash-panel .cash-table .summary-row td { height: 46px; background: #f5f6f8; font-weight: 600; border-bottom-color: #c8ced6; }
.cash-panel .cash-table .cash-gap td { height: 10px; padding: 0; border: 0; background: #f8f9fc; position: static; }
.cash-panel .cash-table .cash-gap + tr td { border-top: 1px solid #c8ced6; }
.cash-panel .cash-table .group-row:not(.group-zero) td:first-child { box-shadow: inset 4px 0 #315bea; }
.cash-panel .cash-table tr[data-cash-row]:not(.summary-row):hover td { background: #f5f6f8; }
.cash-panel .cash-table tr[data-cash-row]:not(.summary-row):focus-within td { background: #e8efff; }
.cash-panel .cash-table tr[data-cash-row]:not(.summary-row):focus-within td:first-child { box-shadow: inset 4px 0 #315bea; }
.cash-panel .cash-table .money { width: 100%; min-width: 0; font-size: 13px; padding: 4px 3px; color: inherit; font-weight: inherit; }
.cash-panel .cash-table .money:hover { border-color: #bbc6d4; }
.cash-panel .cash-table .label-cell { line-height: 1.4; white-space: normal; }
.cash-panel .cash-table .code, .cash-panel .cash-table .toggle { color: #515a66; font-size: 12px; }
.cash-panel .cash-table .group-zero td:not(:first-child), .cash-panel .cash-table .group-zero .money { font-style: italic; color: #515a66; }
.cash-panel .cash-table .budget-col, .cash-panel .cash-table .remaining { color: #515a66; }
.cash-panel .cash-table .year-start { border-left: 2px solid #c8ced6; }
.cash-panel .cash-table .positive { color: #b52c36 !important; }
.cash-panel .cash-table .negative { color: #136648 !important; }
.cash-panel .cash-table .net td { border-top: 1px solid #c8ced6; }
.cash-panel .table-footer { font-size: 11px; padding: 9px 16px; color: #515a66; background: #fff; }
.cash-historical-value { font-style: italic; }
.cash-panel .cash-table th.cash-history-col,
.cash-panel .cash-table tbody td.cash-history-col,
.cash-panel .cash-table tr[data-cash-row]:hover td.cash-history-col,
.cash-panel .cash-table tr[data-cash-row]:focus-within td.cash-history-col { background: #eff1f3; }
.cash-panel .cash-table .cash-history-col, .cash-panel .cash-table .cash-history-col .money { font-style: italic; }
.cash-panel .cash-table .cash-not-applicable { color: #757d88; font-weight: 400; }
.cash-panel .cash-table .cash-project-row td { border-top: 1px solid #c8ced6; }
.cash-opening { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; color: #515a66; font-size: 11px; }
.cash-opening strong { font-size: 13px; font-variant-numeric: tabular-nums; }
@media (max-width:1250px) {
  .cash-heading { grid-template-columns: 1fr; }
  .cash-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .cash-cards { grid-template-columns: 1fr; }
  .cash-cards .card { grid-template-columns: minmax(0,1fr) auto; }
  .cash-cards .card-note { grid-column: 1 / -1; }
  .budget-heading-controls #cash-version { flex: 1; width: auto; }
  .cash-panel .cash-panel-title { flex-wrap: wrap; }
  .cash-opening { justify-content: flex-start; }
  .cash-panel .cash-table th:first-child, .cash-panel .cash-table td:first-child { position: static; }
}
