/* ==========================================================================
   Responsive Behavior — Desktop 1920/1440, Laptop 1366, Tablet 768, Mobile
   ========================================================================== */

/* Laptop --------------------------------------------------------------- */
@media (max-width: 1366px) {
  .kpi-grid { gap: var(--space-4); }
  .page-body { padding: var(--space-5); }
}

/* Tablet ----------------------------------------------------------------- */
@media (max-width: 1024px) {
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .ledger-summary { grid-template-columns: repeat(2, 1fr); }
  .info-grid { grid-template-columns: 1fr; }
  #dashboard-mid-grid { grid-template-columns: 1fr !important; }
  #report-charts-row-1, #report-charts-row-2 { grid-template-columns: 1fr !important; }

  .sidebar { transform: translateX(-100%); box-shadow: var(--shadow-lg); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-overlay.open { display: block; }

  .content-area { margin-left: 0; }
  .menu-btn { display: flex; }
  .header-search { display: none; }
}

/* Mobile ------------------------------------------------------------------- */
@media (max-width: 768px) {
  .page-body { padding: var(--space-4); padding-bottom: calc(var(--bottom-nav-height) + var(--space-6)); }
  .page-header { flex-direction: column; align-items: stretch; }
  .page-header h1 { font-size: var(--fs-xl); }
  .page-header .btn { width: 100%; }

  .kpi-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
  .kpi-card { padding: var(--space-4); }
  .kpi-card__value { font-size: var(--fs-lg); }
  .kpi-card__icon { width: 34px; height: 34px; font-size: 14px; }

  .ledger-summary { grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }

  .table-wrap { display: none; }
  .mobile-card-list { display: flex; }

  .toolbar { flex-direction: column; align-items: stretch; }
  .toolbar-search { width: 100%; }
  .toolbar .select-filter, .toolbar .btn { display: none; }
  .toolbar .filter-trigger-btn { display: flex; }

  .bottom-nav { display: flex; }
  .topbar { padding: 0 var(--space-4); height: 60px; }
  .topbar-title { font-size: var(--fs-md); }
  .user-chip__name, .user-chip__role { display: none; }

  .login-panel { padding: var(--space-5); justify-content: center; }

  .modal { max-width: 100%; border-radius: var(--radius-lg); margin: auto var(--space-3); }

  .pagination-bar { flex-direction: column; align-items: stretch; }
  .pagination-controls { justify-content: center; }

  .data-card__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 430px) {
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .card-header { padding: var(--space-4); }
  .card-body, .card-pad { padding: var(--space-4); }
}

/* Filter trigger button — only shown on mobile toolbars */
.filter-trigger-btn { display: none; align-items: center; gap: 8px; }

/* Utility show/hide by breakpoint */
.show-mobile { display: none; }
@media (max-width: 768px) { .show-mobile { display: block; } .hide-mobile { display: none !important; } }
