/* mshell v1 — additive mobile layer; desktop untouched */
.ym-bottom-nav { display: none; }
@media (max-width: 768px) {
  .ym-bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; display: flex; z-index: 60;
    background: #fff; border-top: 1px solid #e5e7eb;
    padding: 4px 0 max(4px, env(safe-area-inset-bottom)); }
  .ym-bottom-nav .ym-item { flex: 1; display: flex; flex-direction: column; align-items: center;
    gap: 2px; font-size: 11px; color: #374151; background: none; border: 0; padding: 6px 0;
    min-height: 48px; text-decoration: none; cursor: pointer; }
  .ym-bottom-nav .ym-ico { font-size: 18px; line-height: 1; }
  body[data-mshell] { padding-bottom: 64px; }
  body[data-mshell] .table-responsive, body[data-mshell] table { display: block; max-width: 100%;
    overflow-x: auto; -webkit-overflow-scrolling: touch; }
  body[data-mshell] input, body[data-mshell] select, body[data-mshell] textarea { font-size: 16px; }
  body[data-mshell] button, body[data-mshell] .btn { min-height: 44px; }
}
