/* 窄屏触控优化，保持桌面布局不变。 */
@media (max-width: 700px) {
  html,body,.app-shell,.main-area{max-width:100%;min-width:0}
  .main-area{overflow-x:clip}
  .topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .top-actions #export-button{display:none}
  .topbar .mobile-menu{width:44px;height:44px;flex-shrink:0}
  .breadcrumb{min-width:0;gap:6px;white-space:nowrap;font-size:12px}
  .breadcrumb strong,.breadcrumb span:first-child{overflow:hidden;text-overflow:ellipsis}
  main{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:calc(48px + env(safe-area-inset-bottom))}
  .button,.tab,.file-label{min-height:44px}
  .nav-link{min-height:46px}
  .icon-button{min-width:40px;min-height:40px}
  .row-actions{flex-direction:column;align-self:center}
  .row-actions .icon-button{width:40px;height:40px}
  .task-row,.schedule-row,.study-row{align-items:flex-start}
  .row-main{min-width:0;overflow-wrap:anywhere}
  .row-title{white-space:normal;overflow-wrap:anywhere}
  .row-meta{line-height:1.5}
  .section-card,.calendar-card{min-width:0}
  .toolbar{align-items:stretch}
  .toolbar .search-field{max-width:none!important;width:100%;flex-basis:100%}
  .toolbar .select{min-height:44px}
  .input,.select,.textarea{font-size:16px;min-height:44px}
  .modal-overlay{align-items:flex-end;padding:0}
  .modal,.modal.small{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);border-radius:17px 17px 0 0;padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}
  .modal-head{position:sticky;top:0;background:white;z-index:1}
  .modal-actions{position:sticky;bottom:0;background:white;padding-top:12px;border-top:1px solid #eef1f5;flex-wrap:wrap}
  .modal-actions .button{flex:1;min-width:100px;white-space:normal}
  .toast{bottom:calc(18px + env(safe-area-inset-bottom));left:16px;right:16px;text-align:center}
  .metrics[style]{grid-template-columns:1fr!important}
  .day{height:clamp(35px,9vw,44px)}
  .note-card{min-width:0}
}
