.page-title > div:first-child { min-width: 0; }
.page-title-content { min-width: 0; }
.page-title-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.page-title { align-items: flex-start; justify-content: flex-start; }
.overview-actions,
.panel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.overview-actions { justify-content: flex-start; margin-top: 12px; }
.refresh-button { color: var(--ink); background: #fff; border-color: var(--border); }
.refresh-button-mobile { display: none; }
.refresh-button:hover { color: var(--green-dark); background: var(--green-soft); border-color: #bdd2c7; }
.refresh-button span { display: inline-block; margin-right: 5px; font-size: 17px; line-height: 1; }
.refresh-button.is-loading span { animation: dashboard-spin .8s linear infinite; }
.income-drop-zone { border-color: #a9bdaf; background: #f5f9f6; }
.income-drop-zone .upload-mark { color: #315f49; background: #e2eee7; }
.file-result.processing { color: #526159; background: #f8faf9; }
@keyframes dashboard-spin { to { transform: rotate(360deg); } }
@media (max-width:768px) {
  .refresh-button-desktop { display: none; }
  .refresh-button-mobile { display: inline-flex; }
  .overview-actions { width: 100%; flex-wrap: nowrap; }
  .overview-actions .button { min-width: 0; flex: 1 1 0; padding-right: 6px; padding-left: 6px; font-size: 12px; }
  .page-title { align-items: stretch; }
  .page-title-content { width: 100%; }
  .panel-actions { width: 100%; justify-content: flex-start; }
  .panel-head { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion:reduce) { .refresh-button.is-loading span { animation: none; } }
