/* Mobile app layout */
.mobile-backdrop{display:none}
@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body.menu-open{overflow:hidden}
  button,.nav-item,input,select,textarea{touch-action:manipulation}
  .app-shell{display:block;width:100%;min-height:100dvh}
  .sidebar{position:fixed;inset:0 auto 0 0;left:0;width:min(86vw,300px);height:100dvh;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .24s ease;box-shadow:14px 0 36px rgba(1,14,35,.36);z-index:40}
  .sidebar.open{left:0;transform:translateX(0)}
  .sidebar-brand{flex:0 0 auto;padding:2px 4px 12px}
  .sidebar-brand img{width:min(100%,240px);max-height:82px}
  .sidebar nav{padding-top:5px;padding-bottom:105px}
  .nav-item{min-height:48px;padding:12px 14px;font-size:14px}
  .mobile-backdrop{display:block;position:fixed;inset:0;border:0;padding:0;background:rgba(2,13,31,.58);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease;z-index:35}
  .sidebar.open+.mobile-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  main{width:100%;min-width:0}
  .topbar{height:64px;padding:env(safe-area-inset-top) 14px 0;position:sticky;top:0}
  .icon-btn{display:grid;width:44px;height:44px;padding:0;place-items:center;border-radius:10px;color:var(--navy);cursor:pointer}
  .topbar h1{font-size:18px;max-width:58vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .view{padding:16px 14px calc(28px + env(safe-area-inset-bottom))}
  .welcome,.section-heading{align-items:stretch;gap:12px;margin-bottom:16px}
  .welcome h2,.section-heading h2{font-size:22px}
  .welcome>button,.section-heading>button{width:100%;min-height:44px}
  .stats,.stats.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stat{min-width:0;padding:13px 11px}.stat strong{font-size:19px}
  .dashboard-grid,.load-cards,.report-grid,.brokerage-grid{grid-template-columns:1fr}
  .panel,.load-card{min-width:0}
  .toolbar{flex-direction:column}.toolbar input,.toolbar select{max-width:none}
  .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:720px}
  .form-grid{grid-template-columns:1fr}.wide{grid-column:auto}
  dialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:18px 18px 0 0;overflow:auto}
  dialog[open]{animation:mobile-sheet-in .22s ease-out}
  .modal-form{padding:20px 16px calc(18px + env(safe-area-inset-bottom))}
  .form-actions,.split-actions{position:sticky;bottom:0;background:#fff;padding-top:12px;flex-wrap:wrap}
  .form-actions button{min-height:44px}
  .login-panel-wrap{min-height:100dvh;padding:14px}
  .login-panel{width:100%;padding:24px 20px;border-radius:18px}
  .login-panel>img{max-width:100%!important;height:auto!important}
  @keyframes mobile-sheet-in{from{transform:translateY(35px);opacity:.65}to{transform:none;opacity:1}}
}
@media(max-width:430px){
  .stats,.stats.compact{grid-template-columns:1fr}
  .top-actions{display:none}
  .load-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.sidebar,.mobile-backdrop{transition:none!important}dialog[open]{animation:none!important}}
