@media (max-width: 940px) {
  :root { --sidebar: 210px; }
  .balance-card { grid-template-columns: minmax(0, 1fr); }
  .balance-main { min-width: 0; }
  .home-grid { grid-template-columns: 1fr; }
  .plan-summary { grid-template-columns: 1.2fr 1fr; }
  .plan-summary-card:first-child { grid-column: 1 / 3; }
  .budget-row { grid-template-columns: 40px 1fr 140px; }
  .budget-progress { grid-column: 2 / 4; }
}

@media (max-width: 720px) {
  .sidebar { display: none; }
  .workspace { margin-left: 0; padding-bottom: calc(75px + env(safe-area-inset-bottom)); }
  .topbar { height: 62px; padding: 7px 14px; }
  .desktop-title { display: none; }
  .mobile-brand { display: flex; min-height: 44px; }
  .mobile-brand .brand-glyph { width: 34px; height: 34px; border-radius: 10px; }
  .mobile-brand .brand-glyph i { font-size: 18px; }
  .mobile-brand b { font-size: 17px; }
  main { padding: 18px 14px 28px; }
  .page-stack { gap: 21px; }
  .balance-card { min-height: 0; padding: 20px; gap: 22px; border-radius: 17px; }
  .balance-value { font-size: 39px; }
  .account-strip { margin-right: -20px; padding-top: 20px; padding-right: 20px; }
  .forecast-panel { min-height: 162px; padding: 15px; }
  .forecast-line { min-height: 80px; }
  .flow-row { gap: 9px; }
  .flow-card { min-height: 96px; padding: 14px; grid-template-columns: 34px 1fr; gap: 9px; border-radius: 14px; }
  .flow-icon { width: 34px; height: 34px; border-radius: 10px; font-size: 17px; }
  .flow-copy b { font-size: 19px; }
  .chart-card { padding: 16px; }
  .cashflow-chart { height: 170px; }
  .upcoming-row { padding: 11px 13px; }
  .plan-glance { padding: 16px; }
  .operations-toolbar { grid-template-columns: 1fr; gap: 10px; }
  .filter-chip { min-height: 42px; }
  .date-group { gap: 7px; }
  .operation-row { padding: 11px 13px; }
  .plan-summary { grid-template-columns: 1fr 1fr; gap: 9px; }
  .plan-summary-card:first-child { grid-column: 1 / 3; }
  .plan-summary-card { min-height: 104px; padding: 15px; border-radius: 14px; }
  .budget-row { grid-template-columns: 36px 1fr 116px; padding: 13px; }
  .category-icon { width: 36px; height: 36px; border-radius: 10px; }
  .budget-progress { grid-column: 2 / 4; }
  .money-field { grid-column: 3; grid-row: 1; }
  .calendar-head { align-items: flex-start; }
  .calendar-head .primary-button { width: 44px; padding: 0; }
  .calendar-head .primary-button span { display: none; }
  .calendar-summary { gap: 8px; }
  .calendar-stat { min-height: 82px; padding: 12px; border-radius: 13px; }
  .calendar-stat b { font-size: 16px; }
  .month-calendar { padding: 10px 6px 7px; border-radius: 15px; }
  .calendar-day { min-height: 66px; padding: 5px 3px; }
  .day-number { width: 25px; height: 25px; }
  .day-actual { font-size: 7px; }
  .day-planned { font-size: 0; width: 7px; height: 7px; padding: 0; border-radius: 50%; }
  .day-detail { padding: 15px; }
  .sheet { inset: auto 0 0; width: 100%; max-height: 88vh; border-radius: 18px 18px 0 0; transform: translateY(105%); }
  .sheet.show { transform: translateY(0); }
  .sheet-body { padding-bottom: calc(22px + env(safe-area-inset-bottom)); }
  .mobile-nav { position: fixed; inset: auto 0 0; z-index: 40; height: calc(68px + env(safe-area-inset-bottom)); padding: 5px 7px env(safe-area-inset-bottom); display: grid; grid-template-columns: repeat(4, 1fr); background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: 0 -1px 0 var(--line); backdrop-filter: blur(18px); }
  .mobile-nav button { min-height: 56px; min-width: 0; border: 0; border-radius: 11px; background: transparent; color: var(--muted); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 8px; font-weight: 600; cursor: pointer; transition: color .16s ease, background-color .16s ease, transform .12s ease; }
  .mobile-nav button i { font-size: 20px; }
  .mobile-nav button.active { color: var(--primary); background: var(--primary-soft); }
  .mobile-nav button:active { transform: scale(.96); }
  .toast { bottom: calc(78px + env(safe-area-inset-bottom)); }
}

@media (max-width: 380px) {
  .flow-row { grid-template-columns: 1fr; }
  .plan-summary { grid-template-columns: 1fr; }
  .plan-summary-card:first-child { grid-column: auto; }
  .budget-row { grid-template-columns: 34px 1fr; }
  .money-field, .budget-progress { grid-column: 2; grid-row: auto; }
  .calendar-stat span { font-size: 8px; }
  .calendar-stat b { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
