/* Mobile shell only. Tools remain alive in their existing frames. */
.mobile-nav,.mobile-menu-close,.mobile-report{display:none}
@media(max-width:900px){
  :root{--mobile-nav-height:calc(66px + env(safe-area-inset-bottom,0px))}
  body.toolmode .floatmenu{display:none}
  body.toolmode{overflow:hidden}
  body .apptop,body.toolmode .apptop{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));gap:8px}
  body .apptop > div:not(.right){display:block;flex:1;min-width:0}
  .apptop #pageTitle{font-family:var(--sans,system-ui);font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .apptop .sub{display:none}
  .apptop .right{flex:0 0 auto;gap:5px}
  .apptop .header-report{display:none}
  .apptop .header-search{width:44px;min-width:44px;flex:none;justify-content:center;padding:0}
  .apptop .header-search .header-search-full,.apptop .header-search .header-search-short{display:none}
  .apptop .header-account{width:52px;min-height:48px;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0;font-size:9px;line-height:1.2}
  .apptop .header-person-icon{height:26px;width:26px;border:0;background:transparent;color:var(--ink-2)}
  .mobile-nav{position:fixed;z-index:40;inset:auto 0 0;display:flex;align-items:stretch;height:var(--mobile-nav-height);padding:6px max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--panel);color:var(--ink-2);box-shadow:0 -4px 20px #00000006}
  .mobile-nav a,.mobile-nav button{flex:1;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 2px;border:0;border-radius:12px;background:transparent;color:var(--ink-2);text-decoration:none;font-family:inherit;font-size:11px;line-height:1.1;font-weight:500;cursor:pointer}
  .mobile-nav svg{width:21px;height:21px;flex:none}
  .mobile-nav [hidden]{display:none!important}
  .mobile-nav [aria-current=page],.mobile-nav [aria-expanded=true]{background:var(--accent-12);color:var(--accent);font-weight:600}
  .mobile-nav [data-ring="1"]{background:var(--ok-bg);color:var(--ok)}
  .mobile-nav [data-ring=live]{background:var(--info-bg);color:var(--info)}
  .mobile-nav :focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
  body.toolmode .toolframe{margin-bottom:var(--mobile-nav-height)}
  .app-body .appbody{padding:18px 14px calc(var(--mobile-nav-height) + 24px)}
  .hd-head{gap:14px}.hd-greet{font-size:25px;line-height:1.2}.hd-date{font-size:13px}
  .hd-lensbar{width:100%;min-width:0;align-items:stretch}.hd-lenses{display:flex;flex-wrap:nowrap;gap:2px;max-width:100%;overflow:auto}.hd-lenses button{min-height:44px;padding:0 10px;font-size:12px;flex:1 0 auto}
  .hd-main{gap:12px}.appbody .card2{border-radius:14px;padding:18px;margin-bottom:12px}.hd-main .card2{margin-bottom:0}.hd-main{margin-bottom:12px}
  .app-body .side{width:min(360px,calc(100vw - 28px));height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain}
  .side .brand{position:sticky;flex-direction:row;gap:10px;padding:16px 12px;text-align:left;top:0;z-index:3;background:var(--nav-bg);color:var(--nav-active)}
  .mobile-menu-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-left:auto;border:1px solid var(--nav-section);border-radius:10px;background:var(--nav-bg);color:var(--nav-active);font:inherit;cursor:pointer}
  .side .brand .mobile-menu-close svg{width:20px;height:20px}.side .brand > img{margin:0;flex:none}.side .brand .bt{font-size:20px}.side .brand .bs{font-size:9px;letter-spacing:.02em}.side .brand > div{min-width:0}
  .side .navtoggle,.side nav a[data-route]{min-height:44px}
  .side .navsearch input{min-height:44px;font-size:16px}
  .mobile-report{display:block;margin:4px 16px 12px;padding:11px 14px;min-height:44px;flex:none;text-align:left;border:1px solid var(--nav-section);border-radius:10px;background:var(--nav-bg);color:var(--nav-active);font-family:inherit;font-size:13px;cursor:pointer}
  .app-body .dock{display:none}
  .app-body .dock.open{display:flex;flex-wrap:wrap;left:8px;right:8px;bottom:calc(var(--mobile-nav-height) + 8px);height:auto;max-height:calc(100dvh - var(--mobile-nav-height) - 90px);padding:8px 12px;border:1px solid var(--line-strong);border-radius:16px;background:var(--panel);color:var(--ink-2);box-shadow:0 12px 32px #0002;z-index:45}
  .dock.open .dock-tab,.dock.open .dock-clear{min-height:44px}
  .dock.open .dock-strip{order:3;flex:1 0 100%;display:flex;flex-direction:column;align-items:stretch;gap:6px;max-height:calc(100dvh - var(--mobile-nav-height) - 165px);overflow:auto}
  .dock.open .dock-item{min-height:44px;padding:12px;white-space:normal;overflow-wrap:anywhere}
  .dock.open .dock-clear{margin-left:auto}
  .app-body .sdock{left:8px;right:8px;bottom:calc(var(--mobile-nav-height) + 8px)}
  .sdock .sdock-tab{display:none}
  .sdock .sdock-panel{width:100%;height:calc(100dvh - var(--mobile-nav-height) - 72px);max-height:calc(100dvh - var(--mobile-nav-height) - 72px);border-radius:18px}
  .sdock .sdock-x{min-height:44px;padding:8px 12px}
  .sdock .sdock-body iframe{min-height:0;height:100%;flex:1}
  .sdock .sdock-body{min-height:0}
  .app-body .chatdock{right:12px;bottom:calc(var(--mobile-nav-height) + 8px)}
  .chatdock .chatdock-panel{width:calc(100vw - 24px);height:min(560px,calc(100dvh - var(--mobile-nav-height) - 100px))}
  .chatdock .chatdock-mini{min-height:44px}
  .gps-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;border-radius:18px}
  .gps-dialog #gpsQuery{font-size:16px;min-height:48px}
  .gps-dialog .gps-result{padding:14px 12px;min-height:56px}
  body.navopen .mobile-nav{pointer-events:none}
}
@media(max-width:900px) and (max-height:480px){
  :root{--mobile-nav-height:calc(54px + env(safe-area-inset-bottom,0px))}
  .mobile-nav{padding-top:2px}.mobile-nav a,.mobile-nav button{min-height:48px;gap:2px}
}

@media(max-width:900px) and (hover:none) and (pointer:coarse){
  .app-body > .mh-tooltip{display:none}
}

@media(max-width:900px) and (max-height:480px){
  .app-body .sdock{top:8px}
  .sdock .sdock-panel{height:100%;max-height:100%;border-radius:12px}
}
