/* Tablet */
@media (min-width: 640px) {
  .quick-grid { grid-template-columns: repeat(6, 1fr); }
  .quick-btn { min-height: 104px; }
  .card-actions { grid-template-columns: repeat(4, 1fr); }
  .desktop-only { display: initial; }
  .sandbox-pill.desktop-only { display: inline-flex; }
}
/* Desktop: sidebar layout */
@media (min-width: 960px) {
  .app { display: grid; grid-template-columns: 264px 1fr; }
  .sidebar { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 0; height: 100vh; padding: 24px 16px; background: var(--surface); border-right: 1px solid var(--line); overflow-y: auto; }
  .sidebar-logo { padding: 0 8px 8px; }
  .side-nav { display: flex; flex-direction: column; gap: 4px; flex: 1; }
  .side-link { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 12px; color: var(--muted); font-weight: 600; background: transparent; border: 0; width: 100%; font: inherit; font-weight: 600; cursor: pointer; text-align: left; }
  .side-link:hover { background: var(--bg); text-decoration: none; color: var(--text); }
  .side-link.active { background: var(--primary-light); color: var(--primary); }
  .side-link .count { margin-left: auto; }
  .bottom-nav { display: none; }
  .topbar { padding: 18px 40px; }
  .topbar-logo { display: none; }
  .topbar .desktop-only.topbar-title { display: block; }
  .topbar-title.desktop-only { display: block; }
  .content { max-width: 1040px; padding: 8px 40px 48px; }
  .toast-region { bottom: 24px; }
  .home-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px; align-items: start; }
  .home-grid .quick-grid { grid-template-columns: repeat(3, 1fr); }
  .balance-amount { font-size: 2.9rem; }
  .sheet { bottom: auto; top: 50%; transform: translateY(-50%); border-radius: 24px; animation: fade .2s; }
  .content > .card, .content > form.card { max-width: 720px; }
  .tx-row { padding: 12px 20px; }
  .tx-day { padding: 8px 20px 6px; }
  .tx-side { flex-direction: row; align-items: center; gap: 18px; }
  .tx-compact .tx-amount { min-width: 150px; text-align: right; }
  .deposit-card { max-width: 520px; }
}
@media (max-width: 380px) {
  .balance-amount { font-size: 2rem; }
  .grid-2 { grid-template-columns: 1fr; }
  .action-row { grid-template-columns: 1fr; }
  .card-actions { grid-template-columns: 1fr; }
}
